mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PUB:20161015 Useful Vim editor plugins for software developers - part 1
@GHLandy 有一些错别字哦~
This commit is contained in:
parent
12822901da
commit
bc7e37cf06
@ -1,8 +1,9 @@
|
||||
开发者的实用 Vim 插件——第一部分
|
||||
开发者的实用 Vim 插件(一)
|
||||
============
|
||||
|
||||
作为 Vi 的升级版,[Vim][31] 毫无争议是 Linux 中最受欢迎的命令行编辑器之一。除了是一个多功能编辑器外,世界各地的软件开发者将 Vim 当做 IDE(Integrated Development Environment,集成开发环境)来使用。
|
||||
|
||||
事实上,是 Vim 可以通过插件来扩展其自身功能才使得它如此功能强大。不用说,肯定有那么几个 Vim 插件是指在提高用户的编程体验的。
|
||||
事实上,因为 Vim 可以通过插件来扩展其自身功能才使得它如此功能强大。不用说,肯定有那么几个 Vim 插件是旨在提高用户的编程体验的。
|
||||
|
||||
特别是对于刚刚使用 Vim 或者使用 Vim 做开发的的软件开发者来说,我们将在本教程中讨论一些非常有用的 Vim 插件,具体请看例示。
|
||||
|
||||
@ -12,25 +13,25 @@
|
||||
|
||||
这是为新用户准备的,假设他们不知道如何安装 Vim 插件。所以,首先,就是给出一些完成安装设置的步骤。
|
||||
|
||||
* 在家目录下创建 .vim 目录,并在其中创建子目录 autoload 和 bundle。
|
||||
* 然后,在 autoload 放置 [pathogen.vim][20] 文件,这个文件可以从 [此处][19] 下载。
|
||||
* 最后,在家目录创建 .vimrc 文件,并添加一下内容。
|
||||
* 在你的家目录下创建 `.vim` 目录,并在其中创建子目录 `autoload` 和 `bundle`。
|
||||
* 然后,在 `autoload` 放置 [pathogen.vim][20] 文件,这个文件可以从[此处][19] 下载。
|
||||
* 最后,在你的家目录创建 `.vimrc` 文件,并添加以下内容。
|
||||
|
||||
```
|
||||
call pathogen#infect()
|
||||
```
|
||||
|
||||
[![Vim plugin installation](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-vimrc.png)][30]
|
||||
![Vim plugin installation](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-vimrc.png)
|
||||
|
||||
至此,你已完成了 Vim 插件安装的准备工作。
|
||||
|
||||
注意:我们已经讨论了使用 Pathogen 管理 Vim 插件。当然还有其他的插件管理工具——欲了解,请访问 [此处][29]。
|
||||
注意:我们已经讨论了使用 Pathogen 管理 Vim 插件。当然还有其他的插件管理工具——欲了解,请访问[此处][29]。
|
||||
|
||||
现在已经全部设置完毕,就让我们来讨论两个好用的 Vim 插件吧。
|
||||
|
||||
### Vim 标签侧边栏(Tagbar)插件
|
||||
|
||||
首先就是标签侧边栏(Tagbar)插件。该插件能够让你浏览源文件包含的标签,从而提供该源文件的就够简览。[官网的插件说明][28] 是这样说的:“它通过创建侧边栏,然后以一定顺序展示从当前文件提取的标签(tags)来完成这一功能。这意味着,比如,C++ 中的方法将展示在其自身所定义在的类里边。”
|
||||
首先就是标签侧边栏(Tagbar)插件。该插件能够让你浏览源文件包含的标签,从而提供该源文件的结构简览。[其官网的插件说明][28]是这样说的:“它通过创建侧边栏,然后以一定顺序展示从当前文件以 ctags 提取的标签来完成这一功能。这意味着,比如,C++ 中的方法将展示在其自身所定义在的类里边。”
|
||||
|
||||
听起来很酷,不是吗?让我们来看看该怎么安装它。
|
||||
|
||||
@ -41,41 +42,41 @@ cd ~/.vim/bundle/
|
||||
|
||||
git clone git://github.com/majutsushi/tagbar
|
||||
```
|
||||
|
||||
安装完之后就可以使用了,你可以在 Vim 中打开一个 .cpp 文件来测试它:进入[命令模式][27],然后运行 :TagbarOpen 命令。以下是运行 :TagbarOpen 命令之后出现侧边栏(右侧) 的效果图。
|
||||
安装完之后就可以使用了,你可以在 Vim 中打开一个 .cpp 文件来测试它:进入[命令模式][27],然后运行 `:TagbarOpen` 命令。以下是运行 `:TagbarOpen` 命令之后出现侧边栏(右侧) 的效果图。
|
||||
|
||||
[![Vim tagbar plugin](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-tagbar-example.png)][26]
|
||||
|
||||
使用 :TagbarClose 可以关闭侧边栏。值得一提的是,可以使用 :TagbarOpen fj 命令打开侧边栏,和是使用 shift 键控制侧边栏的效果一样。也就是说,你可以很方便的浏览当前文件包含的标签(tags)——在对应的标签(tags)上按下 Enter 键(使用 shift 键控制)跳转到左边源码的对应位置。
|
||||
使用 `:TagbarClose` 可以关闭侧边栏。值得一提的是,可以使用 `:TagbarOpen fj` 命令打开侧边栏来打开它的跳转(shift control)功能。也就是说,你可以很方便的浏览当前文件包含的标签——在对应的标签上按下 Enter 键,然后在左侧的源代码窗口跳转到对应的位置。
|
||||
|
||||
[![TagbarClose and TagbarOpen](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-tagbar-ex2.png)][25]
|
||||
![TagbarClose and TagbarOpen](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-tagbar-ex2.png)
|
||||
|
||||
假如你想要反复地开关侧边栏,你可以使用 :TagbarToggle 命令,而不用交替的使用 :TagbarOpen 和 :TagbarClose 命令。
|
||||
假如你想要反复地开关侧边栏,你可以使用 `:TagbarToggle` 命令,而不用交替的使用 `:TagbarOpen` 和 `:TagbarClose` 命令。
|
||||
|
||||
如果你觉得输入这些命令很费时间,你可以为 :TagbarToggle 命令创建快捷键。比如,添加一下内容到 .vimrc 文件中:
|
||||
如果你觉得输入这些命令很费时间,你可以为 `:TagbarToggle` 命令创建快捷键。比如,添加以下内容到 `.vimrc` 文件中:
|
||||
|
||||
```
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
```
|
||||
这样,你就可以用 F8 来切换标签侧边栏(Tagbar)了。
|
||||
|
||||
再往下说,有时候你可能会注意到某个标签(tags)前边有一个 +、- 或者 # 符号。比如,一下截图(取自该插件的官网)展示了一些前边有 + 号的标签(tags)。
|
||||
更进一步,有时候你可能会注意到某个标签前边有一个 `+`、`-` 或者 `#` 符号。比如,以下截图(取自该插件的官网)展示了一些前边有 `+` 号的标签。
|
||||
|
||||
[![Toggle Tagbar window](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-tagbar-visibility.png)][24]
|
||||
![Toggle Tagbar window](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-tagbar-visibility.png)
|
||||
|
||||
这些符号基本是用来表名一个特殊标签的可视化信息。特别是 + 表示该类是 public 的,而 - 表示一个 private 类。# 则是是表示一个 protected 类。
|
||||
这些符号基本是用来表明一个特定标签的可见性信息。特别是 `+` 表示该类是 public 的,而 `-` 表示一个 private 类。`#` 则是表示一个 protected 类。
|
||||
|
||||
以下是使用标签侧边栏(Tagbar)的一些注意事项:
|
||||
|
||||
* 该插件的官网早就有说明:“标签侧边栏(Tagbar)并非是管理标签(tags)文件而设计,它只是在动态内存中创建所需的标签,而非创建任何文件。标签(tags)文件的管理有其他插件提供支持。”
|
||||
* 低于 7.0.167 版本的 Vim 和标签侧边栏(Tagbar)插件存在着一个兼容性问题。根据官网:“如果你受到此问题的影响,请使用体代替版:[下载 zip 压缩包][18]。这是 2.2 版本的标准,但由于依赖变更的数量,它可能不会再升级。”
|
||||
* 如果你再加载该插件是遇到这样的错误:未找到足够的样式!(Exuberant ctags not found!)。你可以从 [此处][17] 下载并安装 ctags 来修复错误。
|
||||
* 该插件的官网早就有说明:“标签侧边栏(Tagbar)并非是管理标签(tags)文件而设计,它只是在内存中动态创建所需的标签,而非创建任何文件。标签(tags)文件的管理有其他插件提供支持。”
|
||||
* 低于 7.0.167 版本的 Vim 和标签侧边栏(Tagbar)插件存在着一个兼容性问题。根据官网:“如果你受到此问题的影响,请使用代替版:[下载 zip 压缩包][18]。这对应到 2.2 版本,但由于大量的依赖变更,它可能不会再升级。”
|
||||
* 如果你在加载该插件时遇到这样的错误:未找到 ctags!(Tagbar: Exuberant ctags not found!)。你可以从 [此处][17]下载并安装 ctags 来修复错误。
|
||||
* 获取更多信息请访问 [这里][16]。
|
||||
|
||||
### Vim 符号自动补齐(delimitMate)插件
|
||||
### Vim 界定符自动补齐(delimitMate)插件
|
||||
|
||||
下一个要介绍的插件就是符号自动补齐(delimitMate)。该插件在 Vim 插入模式下提供引号、圆括号和方括号等符号自动补齐功能。
|
||||
下一个要介绍的插件就是界定符自动补齐(delimitMate)。该插件在 Vim 插入模式下提供引号、圆括号和方括号等界定符自动补齐功能。
|
||||
|
||||
[该插件官网][23]:“它同时也提供一些相关的特性让你在输入模式下变得更加辩解,比如语法纠错(在注释区或者其他的可配置区不会自动插入界限符)、扩展名识别(默认关闭)等。”
|
||||
[该插件官网][23]说:“它同时也提供一些相关的特性让你在输入模式下变得更加便捷,比如语法纠错(在注释区或者其他的可配置区不会自动插入结束界定符)、回车和空格填充(默认关闭)等。”
|
||||
|
||||
安装步骤与之前介绍的相似:
|
||||
|
||||
@ -89,11 +90,11 @@ git clone git://github.com/Raimondi/delimitMate.git
|
||||
|
||||
至此,在你使用 Vim 的任何时候,只要你输入一个双引号、单引号、单号、圆括号、方括号,它们都会自动补齐。
|
||||
|
||||
你可以自己配置 符号自动补齐(delimitMate)。比如,你可以添加需要自动补齐的符号列表,阻止自动加载插件,对指定类型文件关闭插件等。想来接如何配置这些(或者其他更多的配置),请阅读该插件的详细文档——运行 :help delimitMate 即可。
|
||||
你可以自己配置界定符自动补齐(delimitMate)。比如,你可以添加需要自动补齐的符号列表,阻止自动加载该插件,对指定类型文件关闭该插件等。想了解如何配置这些(或者其他更多的配置),请阅读该插件的详细文档——运行 `:help delimitMate` 即可。
|
||||
|
||||
上述命令会将你的 Vim 窗口水平分割成两个,上边一个包含我们所说的文档。
|
||||
|
||||
[![Vim deliMate Plugin](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-delimitmate-help.png)][22]
|
||||
![Vim deliMate Plugin](https://www.howtoforge.com/images/vim-editor-plugins-for-software-developers/vimplugins-delimitmate-help.png)
|
||||
|
||||
### 结论
|
||||
|
||||
@ -108,10 +109,8 @@ git clone git://github.com/Raimondi/delimitMate.git
|
||||
via: https://www.howtoforge.com/tutorial/vim-editor-plugins-for-software-developers/
|
||||
|
||||
作者:[Ansh][a]
|
||||
|
||||
译者:[GHLandy](https://github.com/GHLandy)
|
||||
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
Loading…
Reference in New Issue
Block a user