介绍
该vim
文本编辑器是用于处理纯文本,管理系统配置文件,并创建代码通用和极其强大的工具。 虽然模态编辑设计重点和编辑器本身的优雅语法是由其用户喜爱,其界面和功能有时缺乏一些用户喜欢的细节。
幸运的是, vim
还包括一个插件,或脚本,系统可用于扩展以各种方式的编辑。 这些被实现为存储在子目录下简单的配置文件~.vim
根据其功能的目录。 当你添加更多的插件,这些可以得到相当混乱,可能很难保持这些插件单独和有效地管理。
出于这个原因,相当多的插件管理器已经进行了vim
,以帮助使这个任务简单。 我们将在本指南中谈到的插件管理器,称为vundle
,是保持所有这些作品在网上非常有用。
我们将探讨如何使用vundle
的Ubuntu 12.04 VPS实例。 然而,大多数发行版都应该能够使用这些指令,而不需要额外的工作。
安装实用程序软件
之前,我们可以开始探索如何利用vundle
管理VIM插件,我们需要安装所有必要的组件。
首先,我们需要更新我们的本地软件包索引,然后我们需要确保vim
安装(这将是有益的!)那git
可获取附加组件:
sudo apt-get update
sudo apt-get install vim git
现在,我们有vim
和git
安装(你可能已经让vim
如果你正在读这篇文章安装),我们将采取安装前的瞬间破vundle
谈谈如何插件的传统工作和如何vundle
工程管理它们。
Vundle如何工作?
传统上, vim
是针对每个用户的基础上在每个用户的主目录进行配置,由系统管理员和最终软件本身配置的回退的默认值。 这些个人设置存储在称为一个隐藏文件~/.vimrc
。
该功能添加插件和附加的配置文件,在传统上加入一个隐藏目录~/.vim
。 在内部,大多数插件基于它们提供的功能被组织成子目录。 这些可能是一些类似autoload
, plugin
, colors
,等。
所以,如果你使用的是内置的vim
插件系统,你的home目录可能看起来有点像这样:
ls -AR ~
/home/demouser:
.bash_history .bash_logout .bashrc .profile .vim .vimrc
/home/demouser/.vim:
autoload bitmaps colors doc plugin syntax
/home/demouser/.vim/autoload:
plugin1.vim plugin2.vim
/home/demouser/.vim/bitmaps:
plugin1.png
/home/demouser/.vim/colors:
plugin2.vim
/home/demouser/.vim/doc:
plugin1.txt plugin2.txt
/home/demouser/.vim/plugin:
plugin1.vim
/home/demouser/.vim/syntax:
plugin1.vim
该vundle
工具实际上是建立在不同的插件管理器称为pathogen
和提供的功能的超集。 该pathogen
管理器通过为每个插件创建一个单独的插件目录树简化了插件管理。
这意味着,不是让每个插件将不同的文件投入到不同的目录中,而是将它们与其他插件混合在一起,每个插件将在特定于插件的子目录中重新创建所需的目录结构。
这些被保存在一个名为的子目录bundle
。 你的目录结构应该看起来像这样:
ls -AR ~
justin@vundle:~$ ls -AR ~
/home/justin:
.bash_history .bash_logout .bashrc .profile .vim .vimrc
/home/justin/.vim:
autoload bundle
/home/justin/.vim/autoload:
plugin1.vim plugin2.vim
/home/justin/.vim/bundle:
plugin1 plugin2
/home/justin/.vim/bundle/plugin1:
autoload bitmaps doc plugin syntax
/home/justin/.vim/bundle/plugin1/autoload:
plugin1.vim
/home/justin/.vim/bundle/plugin1/bitmaps:
plugin1.png
. . .
这创建了一个更深的嵌套系统,但它允许我们轻松地管理我们的插件作为一个单元。 如果我们不想再使用“plugin1”,我们可以这样做:
rm -rf ~/.vim/bundle/plugin1
这大大简化了我们的管理方案。 这基本上是什么pathogen
完成。
什么vundle
确实是增加内部的管理界面vim
本身,它可以让你获得更多的插件,插件的更新等,这增加了对一些人会说顶部的“管理”部分pathogen
的组织改进。
开始清洁并安装Vundle
现在你了解了底层是如何一点点vundle
系统的工作原理,我们就可以上手。
首先,如果你有一个当前~/.vimrc
文件和~/.vim
目录中,我们将对其进行备份,并重新开始。 这将有助于我们尽量减少不兼容性和潜在问题:
if [ -e .vimrc ]; then mv .vimrc .vimrc_bak; fi
if [ -e .vim ]; then mv .vim .vim_bak; fi
然后,我们可以克隆vundle
从GitHub直接插件,它会重建我们的一些~/.vim
目录结构:
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
接下来,我们将不得不重新创建我们~/.vimrc
文件来告诉vim
使用我们的新的包管理系统。
vim ~/.vimrc
在里面,我们需要一些东西来启动我们。 首先,我们需要确保vim
不试图保持与兼容性vi
,它的前身。 这是一个vundle
要求。 当vim
尝试是兼容的,它会禁用大部分使用过,使得它值得的功能vi
。
我们也希望关闭默认的“文件类型”控件,因为现在的方式vim
缓存在运行时对文件类型的规则与方式干扰vundle
会改变运行时环境。 我们将在以后更改此回:
set nocompatible
filetype off
接下来,我们需要再调整vim
的运行路径,包括vundle
我们从GitHub克隆位置。 之后,我们将调用vundle
初始化函数:
set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc()
现在,我们的vundle
系统初始化,我们可以在我们希望管理插件添加。 虽然vundle
可以管理本地插件,其优势之一是,以配合本地版本在线版本的能力,这可以让你自动更新等。
我们可以通过指向GitHub的信息库,做到这一点Vim脚本 ,其他远程git
仓库,和当地git
仓库。
首先,我们必须管理vundle
包本身vundle
。 然后我们可以添加任何额外的插件:
set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " This is the Vundle package, which can be found on GitHub. " For GitHub repos, you specify plugins using the " 'user/repository' format Plugin 'gmarik/vundle' " We could also add repositories with a ".git" extension Plugin 'scrooloose/nerdtree.git' " To get plugins from Vim Scripts, you can reference the plugin " by name as it appears on the site Plugin 'Buffergator' " Now we can turn our filetype functionality back on filetype plugin indent on
注意到最后,我们重新建立我们以前打开的“filetype”功能。 所有插件必须之间声明call vundle#rc()
线和filetype plugin indent on
指令。
我们本节过后~/.vimrc
,我们可以添加任何额外vim
,我们需要设置。
完成后,保存并关闭文件(“:wq”或“ZZ”)。
使用Vundle安装和更新插件
现在,我们只需要告诉vundle
安装所有我们添加到该文件的插件。 启动vim
:
vim
现在,发出:PluginInstall
命令:
:PluginInstall
这将打开一个新的分割窗口vim
,并通过安装在每一个新的插件的运行。 完成后,您可以键入以下命令关闭新缓冲区和窗口:
:bdelete
您添加到您的插件~/.vimrc
文件中已经安装!
如果您希望更新插件,可以使用以下两个命令之一:
:PluginUpdate
要么
:PluginInstall!
“!” 在年底:PluginInstall!
命令基本上告诉vundle
重新安装所有的插件(它检查是否需要采取任何行动),这将获得最新的版本。
更新后,你可以看到什么插件实际上是受了“U”输入vundle
插件窗口。 如果要查看更新或安装期间发生的操作的完整日志,请键入“l”以查看完整的日志。
使用Vundle管理插件
现在,你已经得到了如何安装插件的窍门,让我们去了一些其他的功能,可以帮助你获得更多的vundle
。
获取新插件
之一的最有用的功能vundle
是找到并安装多个插件的能力。
我们可以列出每一个插件vundle
可以通过键入找到关于Vim脚本的网站:
:Plugins
要么
:PluginSearch!
“!” 命令将从Vim脚本站点刷新本地列表。
如果我们想要搜索一个特定的插件,我们可以使用这样相同的语法:
:PluginSearch! plugin_query
这将打开一个新窗口,其中包含我们的查询结果。 如果您最近刷新了本地数据库,则可以保留“!”。 从命令。 所以如果你搜索“markdown”,你可能会得到这样的:
PluginSearch markdown
"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list
"Search results for: markdown
Plugin 'instant-markdown.vim'
Plugin 'MarkdownFootnotes'
Plugin 'Markdown'
Plugin 'Markdown-syntax'
正如你可以看到在顶部,你可以轻松地安装任何插件通过移动到插件和输入“i”行。
这将下载并安装插件,但它不会更新你~/.vimrc
使它自动加载正确的。
因此,要安装“MarkdownFootnotes”插件,我们将光标移动到该行按'i':
"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list "Search results for: markdown Plugin 'instant-markdown.vim' Plugin 'MarkdownFootnotes' # move here and press "i" Plugin 'Markdown' Plugin 'Markdown-syntax'
您可以删除vundle
缓冲器安装完成后:
:bdelete
随后,编辑你~/.vimrc
键入:
:e ~/.vimrc
添加新插件行:
set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Plugin 'gmarik/vundle' Plugin 'scrooloose/nerdtree.git' Plugin 'Buffergator' Plugin 'MarkdownFootnotes' filetype plugin indent on
此时可以保存并关闭文件。
管理已安装的插件
一旦你安装一些插件,你可以管理它们vundle
。
要查看所有已安装的插件,请键入:
:PluginList
" My Plugins
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree.git'
Plugin 'Buffergator'
Plugin 'MarkdownFootnotes'
如果你需要删除一个插件,这需要两个步骤完成。
您可以通过列出它们来删除插件文件,然后在光标位于您要删除的插件上时点击“D”键。 所以删除我们的“MarkdownFootnotes”插件,我们可以选择它,然后点击“D”:
" My Plugins Plugin 'gmarik/vundle' Plugin 'scrooloose/nerdtree.git' Plugin 'Buffergator' Plugin 'MarkdownFootnotes' # Press "D" when selected
在这一点上, vundle
仍然有这个插件在其配置,但没有安装该插件的文件。 您可以通过键入以下内容再次重新安装文件:
:PluginInstall
我们不会这样做。 相反,我们将删除从我们进入~/.vimrc
文件中:
:e ~/.vimrc
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree.git'
Plugin 'Buffergator'
filetype plugin indent on
这将完成从系统中删除插件。
这样做虽然更简单的方法是从删除它~/.vimrc
第一个文件。
你删除它之后,你可以调用这个命令,它会删除不在您的任何插件~/.vimrc
自动文件(它会要求你确认)
:PluginClean
" Removing Plugins:
Plugin 'MarkdownFootnotes'
. . .
Continue? [Y/n]:
您可以键入“Y”以删除所有未引用的插件。
结论
至此,你应该能够很容易地通过管理插件vundle
接口。 有一个很好的插件管理器的优点vim
可能不会第一眼明显的,特别是如果你不使用许多插件。
然而,这给你带来的最大好处之一是能够轻松地尝试新的插件。 当过程干净,简单,你更有可能探索不同的插件,并尝试集成功能,否则你可能会吸了它,并以一种更复杂的方式做事情。