我对linux世界相对较新,并且最近开始探索它提供的选项,我对vim编辑器的强大功能着迷。我最近在我的mintlinux机器上安装了vim74(最新版本的vim编辑器for linux) 。并尝试了随附的教程,我对它们很满意。
现在,我想为vim添加一个名为NERDTree的新插件。我在谷歌上经历了很多例子来搜索相同的教程,但我发现他们指的是一个相对不同的文件结构(可能那些教程是针对不同版本的vim制作的,如果我理解正确的话)这让我感到困惑。
据我所知,有一个名为vogen的病原体的插件管理器,必须放在vim下的自动加载目录中。但我没有看到任何名为“autoload”的目录。
经过几个小时的研究并最终完全混淆了我该做什么后,我决定提出这个问题。
请帮助我或提供一些我可以关注的最新版本(vim74)。
如果我需要提供更多详细信息,请告诉我。
答案 0 :(得分:7)
你不需要一个插件管理器;它只是使管理和更新更容易[当你有几个插件]。最简单(并且仍然完全有效)的方法是将插件解压缩到~/.vim
目录中。
~/.vim
:$ mkdir ~/.vim
$ unzip path/to/nerdtree-master.zip -d /tmp
$ mv /tmp/nerdtree-master/* ~/.vim/
$ rmdir /tmp/nerdtree-master
确保目录结构(autoload
,plugin
等)直接位于~/.vim
内!
插件管理器允许您将插件保存在单独的目录中。 病原体是最简单和最早的病原体之一。您可以使用git
直接从GitHub克隆和更新;病原体扩展了Vim的'runtimepath'
,以便考虑这些额外的目录(称为捆绑)。
其他插件管理器包括自动定位和下载插件的功能(来自GitHub,vim.org等来源)。它们更舒适(特别是如果你不熟悉Git),但也增加了复杂性。
答案 1 :(得分:6)
步骤1:首先安装病原体
第二步:在终端
中运行它git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
第3步:如果你在vim启动时自动打开NERDTree,请添加:
autocmd vimenter * NERDTree
到(〜/ .vimrc)中的.vimrc文件。来自同一来源的第2步
答案 2 :(得分:2)
我使用Plug安装我的vim插件。首先使用以下命令安装Plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
(如果需要,请参阅其安装页面)。
在你的~/.vimrc
中添加下一行:
call plug#begin()
Plug 'scrooloose/nerdtree'
call plug#end()
autocmd VimEnter * NERDTree
现在从你的vim执行命令:PlugInstall nerdtree
(或只是:PlugInstall
,它将安装列出的所有插件)。这应该可以解决问题。在.vimrc文件中' scrooloose / nerdtree'来自他们的github网址。
答案 3 :(得分:0)
尝试使用vim-plug作为vim插件管理器。安装和使用非常简单,并在自述文件中进行了概述。
正如您在README中看到的那样,nerdtree插件已经在那里作为示例。
答案 4 :(得分:0)
您可以像ingo的方法一样手动进行操作。将nerdtree zip中的文件和目录复制到~/.vim
中,尽管那不是那么整洁。
或者,您可以使用Vim插件管理器(如Plug)(类似于软件包管理器,但适用于vim插件)。 https://github.com/junegunn/vim-plug/。桑德的方法对我而言并不奏效。
要使用插件,您需要一个目录来管理该插件。我给我的电话叫~/.vim/plug_plugins/
您需要在https://github.com/junegunn/vim-plug/blob/master/README.md处安装Plug-说明,即,您需要获取plug.vim文件并将其放入~/.vim/autoload
他们在此处给出的这行代码将创建一个目录〜/ .vim / autoload(如果尚不存在),并将plug.vim放入其中
curl -fLo〜/ .vim / autoload / plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim`
自动加载目录中的内容不会自动加载,但是会在vimrc
中用“ call”行调用。
正如自述文件所述,您需要一个呼叫开始行,然后需要多少行来安装插件,然后需要一个呼叫结束行。呼叫行应该传递到软件包将要存储的目录。
call plug#begin('~/.vim/plug_plugins')
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
call plug#end()
保存您的vimrc,
运行命令:PlugInstall,它应该安装NERDTree
这将自动将nerdtree目录和所有相关文件放到〜/ .vim / plug_plugins中,如果您将zip解压缩到该目录下,该目录就会存在。
,您可以测试是否已安装:NERDTree
并启动了它。
此外,您还可以运行:PlugStatus来显示安装了哪些插件。
如果查看Plug的自述文件,则会看到它列出了NERDTree,即使在撰写本文时,NERDTree的git页面在其自述文件中并未提及Plug。与nerdtree自述文件相比,该插件自述文件更适合在插件中安装nerdtree。