开发者的实用 Vim 插件

Posted Linux中国

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发者的实用 Vim 插件相关的知识,希望对你有一定的参考价值。

本文导航
  • -插件安装设置10%

  • -Vim 标签侧边栏(Tagbar)插件24%

  • -Vim 界定符自动补齐(delimitMate)插件67%

  • -结论85%

作为 Vi 的升级版,[1] 毫无争议是 Linux 中最受欢迎的命令行编辑器之一。除了是一个多功能编辑器外,世界各地的软件开发者将 Vim 当做 IDE(集成开发环境Integrated Development Environment)来使用。

事实上,因为 Vim 可以通过插件来扩展其自身功能才使得它如此功能强大。不用说,肯定有那么几个 Vim 插件是旨在提高用户的编程体验的。

特别是对于刚刚使用 Vim 或者使用 Vim 做开发的的软件开发者来说,我们将在本教程中讨论一些非常有用的 Vim 插件,具体请看例示。

请注意:本教程中列举的所有例示、命令和说明都是在 Ubuntu 16.04 环境下进行测试的,并且,我们使用的 Vim 版本是 7.4。

插件安装设置

这是为新用户准备的,假设他们不知道如何安装 Vim 插件。所以,首先,就是给出一些完成安装设置的步骤。

  • 在你的家目录下创建 .vim 目录,并在其中创建子目录 autoload 和 bundle

  • 然后,在 autoload 放置 [2] 文件,这个文件可以从[3] 下载。

  • 最后,在你的家目录创建 .vimrc 文件,并添加以下内容。

 
   
   
 
  1. call pathogen#infect()

开发者的实用 Vim 插件(一)

Vim plugin installation

至此,你已完成了 Vim 插件安装的准备工作。

注意:我们已经讨论了使用 Pathogen 管理 Vim 插件。当然还有其他的插件管理工具——欲了解,请访问[4]

现在已经全部设置完毕,就让我们来讨论两个好用的 Vim 插件吧。

Vim 标签侧边栏(Tagbar)插件

首先就是标签侧边栏(Tagbar)插件。该插件能够让你浏览源文件包含的标签,从而提供该源文件的结构简览。[5]是这样说的:“它通过创建侧边栏,然后以一定顺序展示从当前文件以 ctags 提取的标签来完成这一功能。这意味着,比如,C++ 中的方法将展示在其自身所定义在的类里边。”

听起来很酷,不是吗?让我们来看看该怎么安装它。

标签侧边栏(Tagbar)的安装过程是相当容易的——你只需要运行下列命令:

 
   
   
 
  1. cd ~/.vim/bundle/

  2. git clone git://github.com/majutsushi/tagbar

安装完之后就可以使用了,你可以在 Vim 中打开一个 .cpp 文件来测试它:进入[6],然后运行 :TagbarOpen 命令。以下是运行 :TagbarOpen 命令之后出现侧边栏(右侧) 的效果图。

使用 :TagbarClose 可以关闭侧边栏。值得一提的是,可以使用 :TagbarOpen fj 命令打开侧边栏来打开它的跳转(shift control)功能。也就是说,你可以很方便的浏览当前文件包含的标签——在对应的标签上按下 Enter 键,然后在左侧的源代码窗口跳转到对应的位置。

开发者的实用 Vim 插件(一)

假如你想要反复地开关侧边栏,你可以使用 :TagbarToggle 命令,而不用交替的使用 :TagbarOpen 和 :TagbarClose 命令。

如果你觉得输入这些命令很费时间,你可以为 :TagbarToggle 命令创建快捷键。比如,添加以下内容到 .vimrc 文件中:

 
   
   
 
  1. nmap <F8> :TagbarToggle<CR>

这样,你就可以用 F8 来切换标签侧边栏(Tagbar)了。

更进一步,有时候你可能会注意到某个标签前边有一个 +- 或者 # 符号。比如,以下截图(取自该插件的官网)展示了一些前边有 + 号的标签。

开发者的实用 Vim 插件(一)

Toggle Tagbar window

这些符号基本是用来表明一个特定标签的可见性信息。特别是 + 表示该类是 public 的,而 - 表示一个 private 类。# 则是表示一个 protected 类。

以下是使用标签侧边栏(Tagbar)的一些注意事项:

  • 该插件的官网早就有说明:“标签侧边栏(Tagbar)并非是管理标签(tags)文件而设计,它只是在内存中动态创建所需的标签,而非创建任何文件。标签(tags)文件的管理有其他插件提供支持。”

  • 低于 7.0.167 版本的 Vim 和标签侧边栏(Tagbar)插件存在着一个兼容性问题。根据官网:“如果你受到此问题的影响,请使用代替版:[7]。这对应到 2.2 版本,但由于大量的依赖变更,它可能不会再升级。”

  • 如果你在加载该插件时遇到这样的错误:未找到 ctags!(Tagbar: Exuberant ctags not found!)。你可以从 [8]下载并安装 ctags 来修复错误。

  • 获取更多信息请访问 [9]

Vim 界定符自动补齐(delimitMate)插件

下一个要介绍的插件就是界定符自动补齐(delimitMate)。该插件在 Vim 插入模式下提供引号、圆括号和方括号等界定符自动补齐功能。

[10]说:“它同时也提供一些相关的特性让你在输入模式下变得更加便捷,比如语法纠错(在注释区或者其他的可配置区不会自动插入结束界定符)、回车和空格填充(默认关闭)等。”

安装步骤与之前介绍的相似:

 
   
   
 
  1. cd ~/.vim/bundle/

  2. git clone git://github.com/Raimondi/delimitMate.git

一旦你成功安装这个插件(即上述命令执行成功),你就不需要进行任何配置了——当 Vim 启动时会自动加载这个插件。

至此,在你使用 Vim 的任何时候,只要你输入一个双引号、单引号、单号、圆括号、方括号,它们都会自动补齐。 

你可以自己配置界定符自动补齐(delimitMate)。比如,你可以添加需要自动补齐的符号列表,阻止自动加载该插件,对指定类型文件关闭该插件等。想了解如何配置这些(或者其他更多的配置),请阅读该插件的详细文档——运行 :help delimitMate 即可。

上述命令会将你的 Vim 窗口水平分割成两个,上边一个包含我们所说的文档。

开发者的实用 Vim 插件(一)

Vim deliMate Plugin

结论

本文之中提到的两个插件,Tagbar 需要花费较多时间来适应——你应该会同样这个说法。但只要正确设置好它(这意味着你像是有了快捷键一样方便),就容易使用了。至于 delimitMate,不需要任何要求就可以上手。

本教程就是向你展示 Vim 如何高效能的想法。除了本文中提及的,仍然还有许多开发者可用的插件,我们将在下一个部分进行讨论。假如你正在使用一个关于开发的 Vim 插件,并希望广为人知,请在下方留下评论。

我们将在本教程的第二部分讲到 [11]


via: 

本文由 [13] 原创编译, 荣誉推出



推荐文章

滑动查看更多

开发者的实用 Vim 插件(一) 开发者的实用 Vim 插件(一) 开发者的实用 Vim 插件(一) 开发者的实用 Vim 插件(一)

输入文章 ID 或长按二维码直达




[1]: http://www.vim.org/
[2]: http://www.vim.org/scripts/script.php?script_id=2332
[3]: https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim
[4]: http://vi.stackexchange.com/questions/388/what-is-the-difference-between-the-vim-plugin-managers
[5]: http://majutsushi.github.io/tagbar/
[6]: http://www.tldp.org/LDP/intro-linux/html/sect_06_02.html
[7]: https://github.com/majutsushi/tagbar/zipball/70fix
[8]: http://ctags.sourceforge.net/
[9]: https://github.com/majutsushi/tagbar
[10]: https://github.com/Raimondi/delimitMate
[11]: https://www.howtoforge.com/tutorial/vim-editor-plugins-for-software-developers-2-syntastic/
[12]: https://www.howtoforge.com/tutorial/vim-editor-plugins-for-software-developers/
[13]: https://github.com/LCTT/TranslateProject


以上是关于开发者的实用 Vim 插件的主要内容,如果未能解决你的问题,请参考以下文章

Vim的三款实用插件

vim代码片段插件ultisnips的使用

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

实用VS Code 插件汇总