Vim 实用技术,第 2 部分: 常用插件(转)
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 部分: 常用插件(转)相关推荐
- 【从入门到进阶】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 ...
- Vim 4 常用插件
Vim 系列教程目录: Vim 1 基本使用 Vim 2 高级用法 Vim 3 vimrc Vim 4 常用插件 Vim 5 其他编辑器的 Vim 插件 Vim 插件网站 Vim 之所以强大, 有个很 ...
- 【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 ...
- vim常用插件安装及使用
vim常用插件安装及使用 vim常用插件安装 一. Vim8内置插件管理方案 二.vim插件推荐及安装 2.1 NERDTree插件安装及使用 2.1.1 下载NERDTree插件 2.1.2 NER ...
- vim 安装插件及常用插件
vim 插件管家 vim 支持很多插件,为了方便统一管理,通常会先安装插件管家,然后通过这个插件实现自动安装.卸载.更新插件.vim 常用的插件管家有 vundle 和 vim-plug,这里以 vu ...
- vim工具——常用插件
提高效率:善用工具.刻意练习. preface: 偶然想用vim的插件,搜了下打算安装jedi,后面不可收拾,发现插件贼香,便删了sublime,一切代码都从vim,真正觉悟vim的强大. vim插件 ...
- webstorm 添加php插件,webstorm常用插件分享
首先依次点击File -> settings -> Plugins 调出设置中的插件选项,或者直接快捷键 ctrl + alt + s也可调出设置菜单. 常用插件如下: 1.ideaVim ...
- webstorm常用插件 最后一个最好
摘要:ideaVimignoreeslintAceJumpKeyPromoterMarkdownAngularJSactivate-power-modeMaterialThemeUICodeGlanc ...
- atom编辑器的常用插件
ATOM常用插件推荐 simplified-chinese-menu ATOM的汉化插件 file-icons 文件图标美化 atom-beautify 代码格式一键美化 last-cursor ...
- IDE工具(48) idea常用插件
文章目录 IDEA - 常用插件 其它的一些不怎么用的插件 IDEA - 常用插件 tips: 最新文档笔记 https://gitee.com/zhengqingya/java-developer- ...
最新文章
- hdoj 5199 Gunner map
- 怎么用计算机弹出惊雷,会声会影闪电效果_怎么用会声会影绘制惊雷闪电地效果_飞翔教程...
- hdu 5266(线段树+LCA)
- wxWidgets:异形窗示例
- oracle 断电 瞬间 同步,Oracle 11g 测试ogg中断之后,重新同步操作
- C语言输出百分号%的方法和示例
- 小贷公司的风险成因及应对策略——策略篇
- 自己设计的一个打字平台
- ngx lua API介绍
- python垂直输出_Python实现图像的垂直投影示例
- Windows server服务器FTP设置以及客户端FlashFXP连接FTP
- java时间格式化工具类_java日期格式化工具类
- linuxdeployqt ldd ERROR: ldd outputLine: .../libQt5Core.so.5: version `Qt_5' not found (required by
- Ubuntu Temporary failure in name resolution 问题
- latex大括号公式编辑
- Vue前端实战——外卖商家
- 分享82个HTML电脑主机模板,总有一款适合您
- Mac OSX的开机启动配置
- 基于单片机的教室照明智能控制系统设计
- 视频镜头分割与关键帧提取
热门文章
- 使用Homebrew安装Git与Github在idea中的配置
- 动态规划-hdoj-4832-百度之星2014初赛第二场
- [比赛]2015/12/25BNU新生赛
- 菲佣WPF——3(关于INotifyPropertyChanged的使用的想法)
- 2008-2011大股东增持专题
- mac怎么看cpu温度?教你不装软件查看 Mac CPU芯片温度
- k8s token 过期了怎么加入worker 节点
- 解析FL Studio冻结小技巧
- 面向对象PHP之Clone对象
- 【CentOS 7架构16】,限制user_agent#171226