软件Tags:
Vim是一款极具实用价值的软件,中文版的Vim支持多种编程语言,为用户的编辑体验带来了前所未有的便利。此外,为了满足用户的不同需求,Vim还增添了插件功能,使您的使用体验更加丰富多彩。
根据设置可实现与原始vi的完全兼容。
支持多缓冲区编辑以及多标签页编辑。
可创建任意数量的分割窗口(横向或纵向)。
从Vim7起,支持多种数据类型,包括具备列表和功能以及(简单形式)面向对象编程的脚本语言Vim Script,允许高度定制化功能。
能够在脚本中调用Perl、Ruby、Python、Tcl、MzScheme、C、C++等语言。
提供单词缩写功能。
动态单词补全功能。
支持多级树状撤销与重做操作。
支持550种以上文本文件的语法高亮。
自动缩进支持Shell、Lisp、C/C++、Perl、Java、Ruby、Python等40种以上语言。
利用ctags标签进行跳转。
文件崩溃后的恢复功能。
保存和恢复光标位置及打开的缓冲状态(sessn功能)。
支持两个文件的差异比较与同步功能的diff模式。
远程文件编辑功能。
Vim 8.0新增功能
支持异步I/O和通道(channels)。
支持多任务处理。
内置定时器。
引入Partial、Lambda与闭包。
插件包管理功能。
根据时间戳合并viminfo。
Windows用户:支持DirectX。
支持GTK+ 3。
fx:将光标移动到当前行的下一个x位置。x可以是任意字母,使用;可重复上一个f命令。
tx:功能类似fx,但光标移动到x的左侧一个位置(非常实用)。
Fx:与fx相似,但向后查找。使用,来重复上一个F命令。
Tx:与tx相似,但向后移动到x的右侧一个位置。b:光标向前移动一个词。
w:光标向后移动一个词。
0:将光标移动至当前行的开头(数字0)。
^:将光标移动至当前行的第一个字母位置。
$:将光标移动至行尾。
):将光标移动至下一个句子。
(:将光标移动至上一个句子。
VIM提供了众多命令,帮助您在文件中迅速到达想要的位置。以下是一些文件内移动的命令:
<Ctrl-f>:向下移动一屏。
<Ctrl-d>:向下移动半屏。
<Ctrl-b>:向上移动一屏。
<Ctrl-u>:向上移动半屏。
G:移动至文件尾。
numG:移动光标至指定行(num),例如10G表示移动至第10行。
gg:移动至文件开头。H:将光标移动至屏幕顶部。
M:将光标移动至屏幕中部。
L:将光标移动至屏幕底部。
*:读取光标处的字符串,并将光标移动至其下一个出现位置。
#:与前者类似,但向反方向查找。
一、普通人的编辑利器
首先要提到这一点,是因为“处理”无疑是一个编辑器最基本的功能,而能够将编辑体验发挥至极致的,恐怕唯有Vim。
1.免费
用户再也无需在网络上辛苦寻找盗版资源!
2.提高输入速度
纯键盘操作的速度是鼠标无法比拟的,尽管这需要一定的学习成本,但相信是值得的。
3.完美支持中文,并兼容多种文件编码
许多编辑器在处理多字节编码时会遇到困难,而Vim完美解决了这一问题。(如您的Vim未能解决,请参考Linux下Vim的编译与终端乱码的最终解决方案)
4.文本管理
这得益于Vim的一款插件:voom。
二、程序员的编辑利器
如果您是一名程序员,千万不要错过Vim,它为程序员提供了诸多贴心的功能。
1.支持几乎所有语言类型
不夸张地说,Vim在这一点上做到了极致。无论是大家熟知的语言,从C++、Python到Bash、SQL,Vim均默认支持这些语言的语法高亮与自动缩进等功能。一个编辑器,轻松搞定所有源码编写,何乐而不为?
2.支持各种语言的代码自动补全与智能提示。
3.快速查找函数定义与显示函数列表的功能
使用Vim+tags+taglist可轻松实现上述功能,功能上可完全替代SI或VS。
4.支持类似TextMate的代码片段功能
目前我使用的是snipMate,当然提供类似功能的插件不止这一种,您可以有更多选择。
5.集成编译调试功能,快速定位错误
Vim提供了quickfix功能,能集成GCC、G++、Java、C#、Python、PHP等多种语言的错误定位功能,极大提高了代码编译调试时的效率。
6.开源
如果发现Vim存在bug,您可以自行研究代码进行修复。
7.跨平台
在Linux、Windows、Mac等多平台上均有相应版本,无需担心跨平台开发的问题!
8.支持插件,无限扩展所需功能
Vim本身拥有自己的脚本语言,若您不想再学习一门新语言也无妨,Gvim7.3已默认编译支持Python、Ruby、Lua、Perl等多种脚本语言,您可以用自己喜欢的脚本语言进行开发!与Emacs的Lisp相比,尽管Vim自身的脚本语言可能略显不足,但在Python面前,Lisp恐怕也不遑多让。
Vim 8.1是一个小版本,自Vim 8.0起,已添加了一些新特性。
许多bug得到修复,文档更新等。主要的新特性为终端窗口。