文档章节

Vim 常用插件

TonyGNU
 TonyGNU
发布于 2014/02/16 19:38
字数 3003
阅读 86
收藏 0
点赞 0
评论 0

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

Vim 实用技术,第 2 部分: 常用插件

图 6

Vim 实用技术,第 2 部分: 常用插件

更多的帮助内容请参考“: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

Vim 实用技术,第 2 部分: 常用插件

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

Vim 实用技术,第 2 部分: 常用插件

●可以显示宏(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

Vim 实用技术,第 2 部分: 常用插件

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

图 10

Vim 实用技术,第 2 部分: 常用插件

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

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

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

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

●管理功能,如登录;

●删除类操作;

●打标签;

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

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

图 11

Vim 实用技术,第 2 部分: 常用插件

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

图 12

Vim 实用技术,第 2 部分: 常用插件

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

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

图 13

Vim 实用技术,第 2 部分: 常用插件

●显示文件状态;

●显示较短的文件状态;

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

●签出模块(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

Vim 实用技术,第 2 部分: 常用插件

2.9. matrix(!)

作者:Don Yang

网站脚本编号:1189

安装说明:

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

功能说明:

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

图 15

 Vim 实用技术,第 2 部分: 常用插件


© 著作权归作者所有

共有 人打赏支持
TonyGNU
粉丝 0
博文 12
码字总数 3293
作品 0
黄浦
程序员
Vim Plugins For Node.js

使用Vim作为Node.js的IDE环境也是个不错的选择。 Vim: http://www.vim.org/download.php Node.js在Github上也有一篇关于Vim插件的推荐文章。 https://github.com/joyent/node/wiki/Vim-Plug...

cyper ⋅ 2014/04/24 ⋅ 0

VIM使用系列:使用VIM进行项目开发的准备工作

在Linux系统下进行开发的时间零零散散算起来也有将近一年半了,刚开始的时候用的最原始的VIM进行简单的代码编辑,那段时间让我熟练了VIM的命令、编辑模式切换,方向移动和命令模式下的常用命...

水海云 ⋅ 2013/02/02 ⋅ 5

VIM配置--vim_config

精美的vim配置 vimconfig一款非常好用的vim配置,集成常用的插件,精美的配色,使用方法简单。如果你是一个vim新手,vimconfig正适合你。如果你是vim高手,但又讨厌复杂的vim配置,vim_confi...

libGod ⋅ 2015/01/26 ⋅ 0

更好的使用 Vim

改键 我之前一直以为改键的操作做没有必要,但是在尝试了一个月以后我已经没办法重新使用别人的键盘了 ———— 太慢了。 改建的意义在于将 Ctrl 映射到 Caps Lock 上。原因在于小拇指很容易...

局长 ⋅ 2016/09/05 ⋅ 10

win10安装gvim和编辑器

下载gvim安装包 官方地址:https://vim.sourceforge.io/download.phpcreate下载地址(听说这个用的人多)(安装完成后需要重启vim)(只有gvim):https://downloads.sourceforge.net/proje...

yr_linux运维 ⋅ 01/08 ⋅ 0

使用vundle管理vim插件

一、安装vundle git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 二、如何通过vundle安装插件 vim-scripts仓库中的插件,可以直接使用这样的格式配置 github上其他用户...

Lee_吉 ⋅ 2017/11/26 ⋅ 0

Vim 语法高亮插件--ShaderHighLight

ShaderHighLight 是 vim 下 glsl、cg、unityShader、hlsl 语法高亮插件。 功能描述 整合了目前常用的shader文件格式的语法高亮 支持格式:glsl,hlsl,cg,shaderlab(unity的shader格式) ...

CodeFarmer_Q ⋅ 2015/06/29 ⋅ 0

Git时代的VIM不完全使用教程

2012-11-27 By BeiYuu 最近整理了VIM的配置,换上插件管理的神器—–Vundle,由他引发的VIM生态环境的改善,堪称完美。遂打算写一份简单的教程,分享Git时代VIM新世界的美丽动人之处。对VIM...

i33 ⋅ 2012/11/28 ⋅ 0

一款精致的 VIM 配置 vim_config 发布

vimconfig一款非常精致的vim配置,集成常用的插件,精美的配色,使用方法简单。如果你是一个vim新手,vimconfig正适合你。如果你是vim高手,但又讨厌复杂的vim配置,vimconfig同样适合你。 ...

libGod ⋅ 2015/01/27 ⋅ 2

python-mode

Python-mode 是一个 vim 插件,允许你在 vim 编辑器中使用工具:pylint, rope, pydoc, pyflakes, pep8, mccabe ,用来对 Python 代码进行 bug 定位、重构以及一些常用的操作。 该插件可以让你...

匿名 ⋅ 2012/12/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 13分钟前 ⋅ 0

Ubuntu部署django问题汇总

使用Anaconda3的Python3.6的pip安装UWSGI报错 原因是gcc版本不兼容,安装4.7并修改gccsudo apt-get install gcc-4.7sudo mv /usr/bin/gcc /usr/bin/gcc.baksudo ln -s /usr/bin/gcc-4.......

wuyaSama ⋅ 16分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

猫耳m ⋅ 16分钟前 ⋅ 0

Docker减肥小记

如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察 如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷… 1、查看...

寰宇01 ⋅ 27分钟前 ⋅ 0

微信小程序中如何使用WebSocket实现长连接(含完整源码)

本文由腾讯云技术团队原创,感谢作者的分享。 1、前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一...

JackJiang- ⋅ 35分钟前 ⋅ 0

定制库到Maven本地资源库

1.如果只有定制库的JAR文件 下载链接如下:pdf.jar 2.使用命令转换成Maven本地资源 mvn install:install-file -Dfile=/Users/manager/Downloads/clj-pdf-2.2.33.jar -DgroupId=clj-pdf -Dar......

年少爱追梦 ⋅ 39分钟前 ⋅ 0

高仿springmvc之xuchen-mvc

package org.mvc.framework.servlet; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.......

徐志 ⋅ 41分钟前 ⋅ 0

关于自定义URLStreamHandler的一次踩坑

关于自定义URLStreamHandler的一次踩坑 20180625 lambo init 说明 一般自定义实现url的协议解析.方案为实现URLStreamHandler.实现其 openConnection 就可以了, 如果我们执行 new URL("xx://...

林小宝 ⋅ 42分钟前 ⋅ 0

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

演示证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependenc......

小帅帅丶 ⋅ 43分钟前 ⋅ 0

用Calendar 实现 计算 一段时间的毫秒值

Calendar c=Calendar.getInstance();c.add(Calendar.MONTH, -1);int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH)......

岸芷汀兰 ⋅ 47分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部