http://blog.jobbole.com/20619/

2.1. gzip(压缩文件支持)

作者:Bram Moolenar

网站脚本编号:无(包含在 Vim 的标准发布之中)

安装说明:无

功能说明:该脚本使得 Vim 可以直接打开使用 gzip [1]、bzip2 [2] 和 compress [3] 压缩的文件(要求存在相应的命令行工具)。后缀为“.gz”、“.bz2”和“.Z”的文件会在打开时被动态解压缩,并在写操作时被自动重新压缩。

打开压缩文件时,屏幕上出现一个(不正确的)“[noeol]”的提示是正常的,不必进行理睬。

2.2. netrw(网络文件支持)

作者:Charles E. Campbell, Jr.(绰号 Dr. Chip)

网站脚本编号:1075(Vim 的标准发布之中可能包含一个较老的版本)

安装说明:

Vim 6.4 的标准发布带的版本是 42,较老、功能不齐全,但无须安装。建议:

1. 在 Vim 网站上下载版本 62(更新的版本只能用于 Vim 7);

2. 使用“tar xvfj netrw.tar.bz2 -C ~/.vim”解开;

3. 在Vim中运行“:helptags ~/.vim/doc”安装文档。

功能说明:

支持直接读写网络上的文件,支持的协议有 ftp、http、rsync、scp 等。比如,使用 FTP 协议以用户名 adah 打开服务器 server 上 ~/temp 目录下的 test.cpp 文件,可以直接在命令行上使用:

1
vim ftp : //adah @server /temp/test .cpp

Vim会自动提示用户输入口令,然后打开文件。

更多的帮助内容请参考“:help netrw”。

2.3. engspchk(英文拼写检查)

作者:Charles E. Campbell, Jr.(绰号Dr. Chip)

网站脚本编号:195

安装说明:

在 Vim 网站上下载最新版本(engspchk.tar.gz);

使用“tar xvfz engspchk.tar.gz -C ~/.vim”解开;

在Vim中运行“:helptags ~/.vim/doc”安装文档。

提示替换拼写功能需要 agrep [4],可能需要另外下载安装。

功能说明:

一个Vim专用的拼写检查器,其最主要的特点是:

●可以通过变量 spchkdialect 选择英语变体(英国、美国、加拿大),对于找不到的词、不常见的词、不在当前英语变体中的词以不同的方式加亮显示;

●支持用户词典(保存在 .vim/CVIMSYN 目录中)和项目词典(保存在被检查文件所在的目录中);

●对于源代码文件,只对注释进行拼写检查,而不会对你的变量名称胡乱提抗议;

●通过词典文件可支持除英语以外的其它语言。

图 5 中的窗口里 engspchk 正在运行中。其中可以看到,红色部分是插件所不能识别的单词,黄色部分是当前英文变体(缺省是美国英语)中不正确的拼法,而青色部分是很少见的单词。图中 运行的是包含图形界面支持的 Vim,因而还可以看到一个名为 DrChip 的菜单项(参见图6),在其中可通过菜单选择拼写检查相关的各项功能;同时还能看到快捷键:“\ec”开始拼写检查,“\ee”结束拼写检查,“\ea” 选择替换拼写,等等。在文本模式的 Vim 中,我们一般就只使用这些快捷键了。
图 5

图 6

更多的帮助内容请参考“:help engspchk”。

2.4. calendar(日历显示)

作者:Yasuhiro Matsumoto

网站脚本编号:52

安装说明:

在 Vim 网站上下载文件 calendar.vim,存到 ~/.vim/plugin 目录中。

功能说明:

图 6 的下半部分就是 calendar 的运行示例,是直接在正常模式下键入“\caL”显示出来的。光标在该窗口中时,可使用左箭头或上箭头显示前一个月,右箭头或下箭头显示后一个月,“t” 回到“今天”,“q”关闭日历窗口。在有鼠标支持时,也可以使用鼠标在黄色字样的“Prev”、“Today”、“Next”上双击达到类似的效果。

除使用“\caL”外,“\cal”也可以打开一个日历窗口,但显示位置是在 Vim 的左侧而不是下方。另外,命令“:Calendar”效果和“\cal”相同,但其后可以跟参数:一个参数的话表示月份,两个参数的话则分别表示年份和月 份。“:CalendarH”与“:Calendar”类似,但日历窗口的打开位置和“\caL”(而不是“\cal”)一样,是在下方而不是左侧。

2.5. project(文件的“项目”管理)

作者:Aric Blumer

网站脚本编号:69

安装说明:

1. 在 Vim 网站上下载最新版本(project-1.3.tar.gz);

2. 使用“tar xvfz project-1.3.tar.gz -C ~/.vim”解开;

3. 在 Vim 中运行“:helptags ~/.vim/doc”安装文档。

功能说明:

该插件可以把文件组织成一棵树的形式,以便于查找和管理。使用命令“:Project”即可打开一个用户的“项目文件” (~/.vimprojects)。项目文件采用普通的文本文件的形式,非常易于浏览和修改。图 7 是一个示例。其中左边窗口部分的就是一棵项目树,完整内容如下:

图 7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CvsMenu= "~/.vim" CD=. {
  plugin/cvsmenu.vim
  doc/cvsmenu.txt
  }
  Nvwa= "~/nvwa_local" CD=. {
  doc=doc {
  ChangeLog
  README
  webupdate.sh
  }
  nvwa=nvwa {
  bool_array.cpp
  debug_new.cpp
  mem_pool_base.cpp
  static_mem_pool.cpp
  bool_array.h
  class_level_lock.h
  cont_ptr_utils.h
  debug_new.h
  fast_mutex.h
  fixed_mem_pool.h
  mem_pool_base.h
  object_level_lock.h
  pctimer.h
  set_assign.h
  static_assert.h
  static_mem_pool.h
  }
  }

在这个项目文件中存在两个项目:CvsMenu 和 Nvwa。引号中的内容表示路径,“CD=.”则表示打开该项目中的文件时,当前目录会更改到项目所在的目录。项目下面可以再分子项目,如 Nvwa 项目下有 doc 和 nvwa 两个子项目,没有“CD=.”表示打开子项目里的文件时不再更改当前目录。

图中并没有显示出完整的内容,因为其中的内容可以折叠(缺省打开项目文件时是完全折叠起来的,即在上面的例子中,只能看到两个项目的名字 “CvsMenu”和“Nvwa”)。在非文件名行上使用鼠标双击或回车键可以进行展开或折叠,在文件名行上使用鼠标双击或回车键则可以打开对应的文件。

更多的帮助内容请参考“:help project”。

2.6. taglist(源代码结构浏览)

作者:Yegappan Lakshmanan

网站脚本编号:273

安装说明:

1. 确保机器上有一个可用的 Exuberant Ctags 的版本(可以执行命令“ctags”)

2. 在 Vim 网站上下载 taglist(假设为 taglist.zip);

3. 使用“unzip taglist.zip -d ~/.vim”解开;

4. 在 Vim 中运行“:helptags ~/.vim/doc”安装文档。

虽然 taglist 使用 ctags,但并不要求 tags 文件的存在。

功能说明:

使用命令“:Tlist”启用/关闭 taglist,效果请先看一下图 8。Taglist 的主要特性有:

图 8

●可以显示宏(macro)、函数(function)、变量(variable)、类型定义(typedef)、类(class)、结构(struct)等多种内容信息;

●打开多个文件时,可以同时看到多个文件的结构信息;

●在左边的 taglist 窗口显示的名称上双击鼠标或按回车键,右边主窗口中会跳转到相应的定义位置;

●右边窗口中光标的位置改变,左边的窗口也会在 4 秒内(缺省值,参见“:help ‘updatetime’”)黄色加亮显示相应的名称;

●在启用/关闭 taglist 时,插件能够自动改变当前 Vim 窗口的大小(不管是文本模式的 Vim 还是图形界面的 Vim),除非使用“:let Tlist_Inc_Winwidth=0”关闭这一功能(当使用这一功能导致兼容性问题时)。<

更多的帮助内容请参考“:help taglist”。

2.7. cvsmenu(CVS集成)

作者:Thorsten Maerz/吴咏炜

网站脚本编号:1245

安装说明:

1. 在 Vim 网站上下载文件 cvsmenu.vim,存到 ~/.vim/plugin 目录中;

2. 启动 gvim,在菜单中选择“CVS-Settings-Install-Install updates”(文本模式的 Vim 可以使用快捷键“,cgii”),从网上(SourceForge)的 CVS 中安装最新版本和帮助文档(此步骤可选)。

功能说明:

在 Vim 中集成 CVS [24]版本管理功能。该插件最初由 Thorsten Maerz 编写,在 2002 年以来没有再得到维护。我在 2005 年初开始使用这个插件后,非常喜欢它,修正了其中存在的错误,并一直维护该插件。如果大家发现有 bug,报告给我就可以了。

主要功能可在图 9 的菜单中看到:

图 9

了解 CVS 环境的基本信息和 cvsmenu 中的变量设定(参见图 10);

图 10

●调整设定,安装更新版本;

●插入 CVS 的可扩展关键字,如“$Date$”、“$Id$”;

●对目录进行基本操作(cvs update 等);

●接受附加参数的基本操作(文件比较等);

●管理功能,如登录;

●删除类操作;

●打标签;

●观察(跟踪)和编辑功能;

●将本地文件和 CVS 中的文件进行比较(以 Vim 的分左右两列使用颜色加亮显示修改、增加、删除部分的比较方式;效果参见图 11);

图 11

●显示文件每一行的更改人和更改时间(cvs annotate,参见图 12);

图 12

●显示库的访问历史(cvs history);

●显示文件修订日志(cvs log;参见图 13);

图 13

●显示文件状态;

●显示较短的文件状态;

●根据本地信息显示文件状态(不访问库);

●签出模块(cvs checkout);

●查询更新;

●更新,如有冲突会高亮显示(cvs update);

●取消修改;

●添加当前文件到 CVS 中(cvs add);

●签入当前文件(cvs commit);

●导入文件(cvs import);

●添加并签入当前文件。

根据实际使用的需要,除了修订错误之外,我加入了一些编码相关的支持。拿一个最实际的情况,如果使用“set encoding=utf-8”,但源代码中仍使用了 GBK 编码的中文字符,那么,必须在 .vimrc 中加入一行“let g:CVScvsoutputencoding=’gbk’”才能保证“cvs annotate”操作的结果是正确的。

Thorsten 把该插件的易用性设计得相当好。举例来说,在作文件比较时,按 Tab 可跳转到下一个不同处,左侧的比较窗口中按一下“q”即可关闭该窗口。更多的帮助内容请参考“:help cvsmenu”。

2.8. doxygen(文档注释语法加亮)

作者:Michael Geddes

网站脚本编号:5

安装说明:

1. 在 Vim 网站上下载最新版本(doxygen.zip);

2. 使用“unzip doxygen.zip”解开;

3. 执行“cp -p doxygen.vim ~/.vim/syntax”和“cp -p doxygen.txt ~/.vim/doc”复制文件到 Vim 目录下;

4. 在 Vim 中运行“:helptags ~/.vim/doc”安装文档。

5. 如果 ~/.vim/after/syntax 目录不存在,使用“mkdir -p ~/.vim/after/syntax”创建该目录;

6. 进入 ~/.vim/after/syntax 目录,使用下面三行创建语法文件之间的关联,使得在 C、C++ 和Java 文件中可以识别文档注释:

1
2
3
ln -s ../.. /syntax/doxygen .vim c.vim
  ln -s ../.. /syntax/doxygen .vim cpp.vim
  ln -s ../.. /syntax/doxygen .vim java.vim"

6. 可选地,看一下我的个人编程网页 [6] 下有没有对 doxygen.vim 的更新(里面包含有作者尚未并入到标准发布中去的我的更改——好奇的话,你可以在 doxygen.vim 文件中数一下,看一看 Wu Yongwei 的名字出现了几次:-))。

功能说明:

如果你用过文档注释,相信我不需要多说,看一下图 14你就知道这个脚本的功能了。如果你没有用过文档注释,强烈建议你到 Doxygen [7] 的网站上看一下,了解一下这个非常有用的工具。作为示例,可在 http://nvwa.sourceforge.net/doc/debug__new_8cpp.html#a17 看一下图中的代码使用 Doxygen 自动生成的 HTML 网页。

图 14

2.9. matrix(!)

作者:Don Yang

网站脚本编号:1189

安装说明:

在 Vim 网站上下载文件 matrix.vim,存到 ~/.vim/plugin 目录中即可。

功能说明:

是的,说的就是电影 Matrix!Vim 的脚本并不是都干“正经事”的。想看一下电影里那些酷酷的字符在 Vim 的窗口里翻滚吗?发一个命令“:Matrix”即可(按任意键退出)。效果见图 15。

图 15

参考资料

[1] The gzip home page: http://www.gzip.org/

[2] bzip2: http://www.bzip.org/

[3] Compress for UNIX: http://www.answers.com/compress#Wikipedia

[4] agrep: http://www.answers.com/agrep

[5] CVS-Concurrent Versions System: http://www.nongnu.org/cvs/

[6] Wu Yongwei’s Programming Page: http://wyw.dcweb.cn/

[7] Doxygen: http://www.stack.nl/~dimitri/doxygen/

Vim 实用技术,第 2 部分: 常用插件(转)相关推荐

  1. 【从入门到进阶】vim基础配置+ 常用插件(NERDTree, cscope, rainbow等)

    文章目录 前言 一.vim基础配置 二.常用插件 2.1 Vundle 2.1.1 Vundle安装 2.1.2 Vundle配置 2.1.3 安装插件 2.1.4 Vundle常用指令 2.2 NE ...

  2. Vim 4 常用插件

    Vim 系列教程目录: Vim 1 基本使用 Vim 2 高级用法 Vim 3 vimrc Vim 4 常用插件 Vim 5 其他编辑器的 Vim 插件 Vim 插件网站 Vim 之所以强大, 有个很 ...

  3. 【Linux vim 入门及渐进过程2 - vim 常用插件配置】

    文章目录 1.1 vim 常用配置 1.1.2 vim 别名 alias 配置 1.1.3 vim 终端颜色配置 1.1.3 vim cscope 函数配置 1.1.4 vimrc 配置 1.2 vi ...

  4. vim常用插件安装及使用

    vim常用插件安装及使用 vim常用插件安装 一. Vim8内置插件管理方案 二.vim插件推荐及安装 2.1 NERDTree插件安装及使用 2.1.1 下载NERDTree插件 2.1.2 NER ...

  5. vim 安装插件及常用插件

    vim 插件管家 vim 支持很多插件,为了方便统一管理,通常会先安装插件管家,然后通过这个插件实现自动安装.卸载.更新插件.vim 常用的插件管家有 vundle 和 vim-plug,这里以 vu ...

  6. vim工具——常用插件

    提高效率:善用工具.刻意练习. preface: 偶然想用vim的插件,搜了下打算安装jedi,后面不可收拾,发现插件贼香,便删了sublime,一切代码都从vim,真正觉悟vim的强大. vim插件 ...

  7. webstorm 添加php插件,webstorm常用插件分享

    首先依次点击File -> settings -> Plugins 调出设置中的插件选项,或者直接快捷键 ctrl + alt + s也可调出设置菜单. 常用插件如下: 1.ideaVim ...

  8. webstorm常用插件 最后一个最好

    摘要:ideaVimignoreeslintAceJumpKeyPromoterMarkdownAngularJSactivate-power-modeMaterialThemeUICodeGlanc ...

  9. atom编辑器的常用插件

    ATOM常用插件推荐 simplified-chinese-menu  ATOM的汉化插件 file-icons  文件图标美化 atom-beautify  代码格式一键美化 last-cursor ...

  10. IDE工具(48) idea常用插件

    文章目录 IDEA - 常用插件 其它的一些不怎么用的插件 IDEA - 常用插件 tips: 最新文档笔记 https://gitee.com/zhengqingya/java-developer- ...

最新文章

  1. hdoj 5199 Gunner map
  2. 怎么用计算机弹出惊雷,会声会影闪电效果_怎么用会声会影绘制惊雷闪电地效果_飞翔教程...
  3. hdu 5266(线段树+LCA)
  4. wxWidgets:异形窗示例
  5. oracle 断电 瞬间 同步,Oracle 11g 测试ogg中断之后,重新同步操作
  6. C语言输出百分号%的方法和示例
  7. 小贷公司的风险成因及应对策略——策略篇
  8. 自己设计的一个打字平台
  9. ngx lua API介绍
  10. python垂直输出_Python实现图像的垂直投影示例
  11. Windows server服务器FTP设置以及客户端FlashFXP连接FTP
  12. java时间格式化工具类_java日期格式化工具类
  13. linuxdeployqt ldd ERROR: ldd outputLine: .../libQt5Core.so.5: version `Qt_5' not found (required by
  14. Ubuntu Temporary failure in name resolution 问题
  15. latex大括号公式编辑
  16. Vue前端实战——外卖商家
  17. 分享82个HTML电脑主机模板,总有一款适合您
  18. Mac OSX的开机启动配置
  19. 基于单片机的教室照明智能控制系统设计
  20. 视频镜头分割与关键帧提取

热门文章

  1. 使用Homebrew安装Git与Github在idea中的配置
  2. 动态规划-hdoj-4832-百度之星2014初赛第二场
  3. [比赛]2015/12/25BNU新生赛
  4. 菲佣WPF——3(关于INotifyPropertyChanged的使用的想法)
  5. 2008-2011大股东增持专题
  6. mac怎么看cpu温度?教你不装软件查看 Mac CPU芯片温度
  7. k8s token 过期了怎么加入worker 节点
  8. 解析FL Studio冻结小技巧
  9. 面向对象PHP之Clone对象
  10. 【CentOS 7架构16】,限制user_agent#171226