Never save something for a special occasion. Every day in your life is a special occasion.
分类:
2010-10-25 20:34:29
VIM 被誉为编辑器之神。我使用已经一年,却还是个半掉子,一直只使用几个简单的命令。最近为了提高书写代码的效率,还有coding的乐趣,再次学习 VIM。发现一篇 VIM 入门好文章,于是翻译过来分享给vim菜鸟们(说菜鸟并没有鄙视的意思,我们都需要努力并善于学习,不是吗?)。
这篇教程写了在不同工作模式下使用 VIM 的一些基本技巧——即插入模式(insert mode), 命令模式(command mode), 可视选择模式(visual selections)等。希望帮助新手们高效地使用vim这个出色的编辑器。
说明:
文章中
:help command 可以获得大部分命令的帮助。
高效移动
在插入模式之外
一般地,应尽量少地呆在插入模式里,因为在插入式中 VIM 就像一个“哑巴”编辑器。很多新手习惯呆在插入模式里,觉得这样易于使用。但 VIM 的强大之处在命令行模式!
vim的方向键 h、j、k、l
由win编辑器转向vim的第一步,放弃使用方向键。不用频繁地在方向键和字母键之间移来移去,可以节省时间。在命令模式可用 h、j、k、l 分别实现左、下、上、右方向键的功能。
在h、j、k、l 前键入一个 g,这样 VIM 就会按屏幕上面的行如你所愿的移动了。
// 先输入数字n再按 h/j/k/l 可实现朝指定方向移动n次
行内移动光标
常用到的一些命令(motion):
文件内移动光标
高效输入
使用关键词自动完成
VIM 的关键词自动完成系统功能,举例说明:你有一个变量名为 iAmALongAndAwkwardVarName 但你不用每次都逐字符输入它,使用关键词自动完成功能,你只需要输入开始几个字母(比如 iAmAL),然后按
聪明地进入插入模式
VIM 提供了很多进入插入模式的命令。常用的一些:
移动大段文本
使用可视选择(visual selections)和合适的选择模式
相对VI增强的功能,VIM 允许你高亮(选择)一些文本,并且进行操作。这里有三种可视选择模式:
在选择模式的时候使用上面所述的方向键和命令(motion),比如 vwww 会高亮光标前面的三个词。Vjj 将会高亮当前行以及下面两行。
在可视选择模式下剪切和拷贝
一旦你高亮了选区,你或许想进行一些操作:
在非可视选择模式下剪切和拷贝
下面的命令实现准确地剪切,不需要进入 visual selections 模式:
粘贴
粘贴很简单,按 p。
使用多重剪贴板
VIM 有很多剪贴。剪贴板在 VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容,命令为“:reg”。最好使用小写字母来作为寄存器的名称,因为大写的有些被 VIM 占用了。
使用寄存器的命令为双引号 "。比如:我们要拷贝当前行到寄存器 k。你应该按 "kyy(也可以使用 V"ky)。现在当前行应该已经存在了寄存器 k 里面。现在你可以使用命令 "kp 来粘贴寄存器 k 里面的内容。
避免重复
令人惊奇的 . 命令
可以使用 . (小数点符号)重复执行上一个命令。比如 上个命令为 dw (删除一词),现在输入.将再删一词。
使用数字
使用数字也是 VIM 的省时技术之一。很多 VIM 命令之前都可以使用一个数字,告诉 VIM 命令需要执行几次。比如:
数字是扩展 motion 命令作用域非常有效的方法。
记录宏
有时,你需要在文章的每段或者每行都重复相同的一系列动作。VIM 允许你记录一个宏来完成你的特殊需要。
必须要记住的是,宏只记录了你的系列按键并且重复执行它们。因为在 VIM 里面完成目的的方法有很多,所以有时候你要小心选择命令来记录你的宏。因为它们会在所有你要执行它的地方执行。
用 VIM 写代码
VIM 也是一个绝好的代码编辑器,它的一些特性是专为程序员设计的。一些常用的:
[|翻译Jay | 删简 pz]