如何使用 Vundle 管理 Linux VPS 上的 Vim 插件

介绍

vim文本编辑器是一个多功能且非常强大的工具,用于操纵简单文本,管理系统配置文件,并创建代码.虽然模特编辑设计的重点和编辑器本身的优雅语法受到用户的喜爱,但它的界面和功能有时缺乏一些用户想要的优点。

幸运的是,‘vim’还包括一个插件或脚本,可以用来以各种方式扩展编辑器的系统. 这些都是以简单的配置文件来实现的,这些文件根据其功能存储在‘~.vim’目录下的子目录中。

出于这个原因,已经为vim创建了相当多的插件管理器,以帮助使这个任务更简单。我们将在本指南中谈论的插件管理器,称为vundle,对于保持所有这些部件在线是非常有用的。

我们将探索如何在Ubuntu 12.04 VPS实例中使用vundle

安装实用软件

在我们开始探索如何使用vundle来管理vim插件之前,我们需要安装所有必要的组件。

首先,我们需要更新我们的本地包索引,然后我们需要确保vim安装(这将是有用的!)和git可供购买额外的组件:

1sudo apt-get update
2sudo apt-get install vim git

现在我们已经安装了‘vim’和‘git’(如果你正在阅读这篇文章,你可能已经安装了‘vim’),我们会在安装‘vundle’之前暂停一下,谈谈插件传统上是如何工作的,以及‘vundle’如何管理它们。

Vundle是如何工作的?

传统上,vim在每个用户的主目录中以用户为基础配置,由系统管理员和最终软件本身配置的落后默认设置。

添加功能的插件和附加配置文件通常被添加到一个隐藏的目录中,在 ~/.vim. 内部,大多数插件是根据它们提供的功能来组织成子目录。

因此,如果您正在使用内置的vim插件系统,您的主目录可能看起来有点像这样:

1ls -AR ~

 1/home/demouser:
 2.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc
 3
 4/home/demouser/.vim:
 5autoload bitmaps colors doc plugin syntax
 6
 7/home/demouser/.vim/autoload:
 8plugin1.vim plugin2.vim
 9
10/home/demouser/.vim/bitmaps:
11plugin1.png
12
13/home/demouser/.vim/colors:
14plugin2.vim
15
16/home/demouser/.vim/doc:
17plugin1.txt plugin2.txt
18
19/home/demouser/.vim/plugin:
20plugin1.vim
21
22/home/demouser/.vim/syntax:
23plugin1.vim

病原体工具实际上是建立在一个不同的插件管理器上,称为病原体,并提供了一套功能的超级组合。

这意味着,而不是让每个插件将不同的文件扔到不同的目录中,将它们与其他插件混合在一起,每个插件会重新创建插件特定的子目录内部所需的目录结构。

这些都保存在一个名为 bundle的子目录中,而您的目录结构看起来像这样:

1ls -AR ~

 1justin@vundle:~$ ls -AR ~
 2/home/justin:
 3.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc
 4
 5/home/justin/.vim:
 6autoload bundle
 7
 8/home/justin/.vim/autoload:
 9plugin1.vim plugin2.vim
10
11/home/justin/.vim/bundle:
12plugin1 plugin2
13
14/home/justin/.vim/bundle/plugin1:
15autoload bitmaps doc plugin syntax
16
17/home/justin/.vim/bundle/plugin1/autoload:
18plugin1.vim
19
20/home/justin/.vim/bundle/plugin1/bitmaps:
21plugin1.png
22
23. . .

這創造了一個更深的嵌套系統,但它允許我們輕鬆地管理我們的插件作為一個單位. 如果我們不想再使用plugin1,我們可以這樣做:

1rm -rf ~/.vim/bundle/plugin1

这极大地简化了我们的管理方案,这基本上就是病原体所能实现的。

vundle所做的就是在vim内部添加一个管理界面,让您获得更多的插件,更新插件等,它增加了管理部分,其中一些人会说是病原体的组织改进。

开始清理并安装Vundle

现在,你已经了解了底层vundle系统的运作方式,我们可以开始。

首先,如果您有当前的 ~/.vimrc 文件和 `~/.vim' 目录,我们将备份它们并重新启动,这将有助于我们尽量减少不兼容性和潜在问题:

1if [ -e .vimrc ]; then mv .vimrc .vimrc_bak; fi
2if [ -e .vim ]; then mv .vim .vim_bak; fi

之后,我们可以直接从GitHub克隆vundle插件,这将重塑我们的一些~/.vim目录结构:

1git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

接下来,我们必须重新创建我们的~/.vimrc文件,告诉vim使用我们的新包管理系统。

1vim ~/.vimrc

首先,我们需要确保vim不试图保留与其前身vi的兼容性,这是一个vundle的要求。

我们还希望暂时关闭默认的filetype控制,因为vim在运行时缓存文件类规则的方式会干扰vundle改变运行时环境的方式。

1set nocompatible
2filetype off

接下来,我们将需要调整vim的运行时间路径,包括我们从GitHub克隆的vundle位置,然后我们将调用vundle初始化函数:

set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

现在,我们的vundle系统已经初始化,我们可以添加我们想要管理的插件,而vundle可以管理本地插件,其优势之一是能够将本地版本与在线版本联系起来,允许您自动更新等。

我们可以通过指向GitHub存储库,Vim脚本(LINK0),其他远程git存储库和本地git存储库来做到这一点。

首先,我们必须管理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设置。

完成后,保存并关闭文件(:wqZZ).

安装和更新插件与Vundle

现在,我们只需要告诉vundle安装我们添加到文件的所有插件。

1vim

现在,发出 :PluginInstall 命令:

1:PluginInstall

這將在「vim」中開啟一個新的分割窗口,並進行每個新插件的安裝。

1:bdelete

您添加到 ~/.vimrc 文件的插件现在已经安装了!

如果你想更新你的插件,你可以使用这两个命令之一:

1:PluginUpdate

1:PluginInstall!

:PluginInstall!命令的末尾的!基本上告诉vundle重新安装所有插件(它检查是否需要采取任何行动),这将获得最新的版本。

更新后,您可以通过在vundle插件窗口中键入u来查看哪些插件实际受到影响. 如果您想要看到更新或安装期间发生的操作的完整日志,请键入l来查看完整的日志。

使用Vundle管理插件

现在你已经知道如何安装插件了,让我们来谈谈一些其他功能,可以帮助你从混乱中获得更多。

购买新插件

vundle最有用的功能之一是找到和安装更多的插件的能力。

我们可以列出每个Vundle可以在Vim Scripts网站上找到的插件,键入:

1:Plugins

1:PluginSearch!

命令末尾的!更新了Vim Scripts网站的本地列表。

如果我们想搜索一个特定的插件,我们可以使用这样的语法:

:PluginSearch! plugin_query

如果您最近更新了本地数据库,您可以从命令中删除!,所以如果您搜索标记,您可能会得到这样的东西:

1PluginSearch markdown

1"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list
2"Search results for: markdown
3Plugin 'instant-markdown.vim'
4Plugin 'MarkdownFootnotes'
5Plugin 'Markdown'
6Plugin '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缓冲器:

1:bdelete

然后,通过键入编辑您的 `~/.vimrc:

1:e ~/.vimrc

添加新的 Plugin 行:

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来管理它们。

要查看所有已安装的插件,请输入以下内容:

1:PluginList

1" My Plugins
2Plugin 'gmarik/vundle'
3Plugin 'scrooloose/nerdtree.git'
4Plugin 'Buffergator'
5Plugin 'MarkdownFootnotes'

如果你需要删除一个插件,这需要在两个步骤中完成。

您可以通过列出这些插件来删除插件文件,然后在您想要删除的插件上点击D键,所以要删除我们的MarkdownFootnotes插件,我们可以选择它并点击D:

" My Plugins
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree.git'
Plugin 'Buffergator'
Plugin 'MarkdownFootnotes'   # Press "D" when selected

在此时刻,vundle 仍然有这个插件在其配置中,但插件的文件尚未安装。

1:PluginInstall

相反,我们将从我们的 ~/.vimrc 文件中删除该条目:

1:e ~/.vimrc

 1set nocompatible
 2filetype off
 3set rtp+=~/.vim/bundle/vundle/
 4call vundle#rc()
 5
 6Plugin 'gmarik/vundle'
 7
 8Plugin 'scrooloose/nerdtree.git'
 9
10Plugin 'Buffergator'
11
12filetype plugin indent on

这将完成从您的系统中删除插件。

一个更简单的方法是先从 ~/.vimrc 文件中删除它。

删除后,您可以拨打此命令,该命令会自动删除未包含在您的 `~/.vimrc 文件中的任何插件(它会要求您确认):

1:PluginClean

1" Removing Plugins:
2Plugin 'MarkdownFootnotes'
3
4. . .
5Continue? [Y/n]:

您可以输入Y来删除所有未参考的插件。

结论

到目前为止,您应该能够通过vundle界面轻松管理您的插件。 拥有一个好的插件管理器对于vim的优点可能在第一眼看不见,特别是如果你不使用很多插件。

然而,这给你的最大好处之一是能够轻松地尝试新的插件,当过程清洁和简单时,你更有可能探索不同的插件并尝试整合功能,否则你可能会吸取它并以更复杂的方式做事。

By Justin Ellingwood
Published At
Categories with 技术
Tagged with
comments powered by Disqus