学习vim并把它作为你的下一个文本编辑器,据我所知没有比它更好的编辑器,学起来难但出奇的好用。
我建议你按下附4个步骤学习Vim:
- 适应
- 感觉舒适
- 感觉很好,强壮,快速
- 使用vim的高级技能
本课程结束时你将成为一个vim高手。
但在我们开始之前,先提醒一下。刚开始学习vim会有点痛苦,它很费时间,有点像玩乐器一样。不要指望能像其他编辑器一样花3天以内的时间便能很好的使用它,事实上,这肯定要花2周而不是3天。
第一层次 – 适应
在标准的编辑器里,写一些东西到屏幕上只需要在键盘上输入就足够了,在Vim中不是这样。Vim在普通模式里,让我们转到插入模式,键入字符i。 你应该感觉好一点了,能像在标准编辑器里输入了,回到普通模式只需按ESC键即可。 你现在知道了如何在插入和普通模式之间转换,下面是你在普通模式下需要记住的指令:
|
只有5个命令,一开始只需掌握这些,当适应了这些命令后(大概需要一天或更多的诗句),你可以转到第二层级了。
但首先,稍回顾一下普通模式。在标准编辑器里,要复制的话你需要使用ctrl键(Ctrl-c)。实际上,当你按下ctrl键时所有的按键的意义都改变了。在vim普通模式下就像在ctrl键自动按下的情况下使用编辑器。
最后的补充:
- 我使用<C-λ>代替Ctrl-λ
- 命令后附带回车,比如我若是写:q,我是指:q<enter>
第二层 - 爽一把你懂的,命令是由需求所定。是时候学习更多命令了。下面这些是我的建议:
花些时间学习所有这些命令。一旦完成后,你应该就能完成在像在其它编辑器中所有事情。也许,你可能还会觉得有点笨手笨脚。但是跟着我进入下一个层次,你就会发现为什么vim值得你额外付出的努力。 |
第三层次 - 更好,更强,更快
恭喜进入第三层次!现在我们开始一些有趣的事。在第三层次中,我们只会谈论那些和vi编辑器兼容的命令 更好让我们看看vim是如何帮助我们做重复工作的:
一些例子,打开文件然后输入:
|
更强
掌握高效率使用vim是十分重要的。请不要跳过这节。
- NG→ 跳到第N行
- gg→ 是1G的快捷方式 - 跳到文件的开始
- G→ 跳到最后一行
-
单词间移动:
- w→ 跳到下一个单词的开头,
- e→ 跳到这个单词的末尾.
默认,单词是有字母和下划线组成。这里我们所谓的单词就是由空格分隔的。如果你只想考虑单词,就使用大写的字符吧:
- W→跳到下一个单词的开头,
- E→ 跳到这个单词的末尾.
现在,我们谈论高效率移动:
- %: 跳到对应的(, (, [ 处.
- *(对比#) : 跳到当前光标的下一个(上一个) 相同单词的地方
信我,最后3个命令价比黄金。
更快记住了vi移动的重要性?这里就是原因。大多数命令使用下面这种通用格式: <开始位置><命令><结束位置> 例如: 0y$意味着
我们也可以使用ye,从当前位置复制到单词的末尾。但是y2/foo 会一直复制到第二个foo出现的地方。 但对于y(复制), d(删除), v(visual 选择), gU(大写), gu(小写)等等命令都是真实的。 |
第四层次 – Vim 超能量使用上述的命令,是否觉得很爽了。但是现在,这里才是杀手锏。正因为其中有些特性,我才使用vim的。 在当前行移动:0^$g_fFtT,;
一个有用的提示:dt"→删除所有的直到”。 |
区域选择 : <命令>a<对象> 或 <命令>i<对象>
这些命令仅仅能用在可视化模式的一个操作后。但是他们相当的有用。他们的主要模式有: <命令>a<对象> 和 <命令>i<对象> 命令可以是任何命令,例如 , d(删除),y(拉取),v(进入可视化模式)。对象可以是: w一个单词,W一个单词 (扩展的),s一个句子,p一个段落。而且也可以是普通的字符, 例如",',),},]。 假设现在光标在 (map (+) ("foo")) 这个字符串的第一个o上。
|
矩形选择块:<C-v>矩形选择块能够方便的对多行代码进行注释。 如:0<C-v><C-d>I-- [ESC]
提示:如果你的剪贴板在Windows中是非空的话,那么你就不得不使用<C-q>来代替<C-v>。 |
实现:<C-n>和<C-p>.在插入模式中:只要打出单词的首字母,然后按<C-p>,神奇的事情就发生了...
宏命令 : qa 做的一些事,@a,@@qa 把你的动作记录在了寄存器 a 中。然后@a 就会将存在寄存器中的动作重现,就好像你从新打了一边。@@是将你最后一次执行的宏命令再次执行的快捷键。
|
可视化模式选择: v, V, <C-v>我们已经看到过<C-v>例子,这里还有v和V。一旦已经选择好了,你可以:
在可视化模式所选择的行的末尾添加一些东西:
|
分割:: split 和 vsplit这些是很重要的命令,所以你应该在:help split看看。
|
小结
这些是我经常使用的90%的命令。我建议你每天学习一到两个命令。在两到三周之后,你将会感觉到vim在你手上使用的是如此的强大。
学习vim更多的是记忆训练。值得高兴的是vim诞生了一些非常好的工具和优秀的文档。当你非常熟悉大部分基本命令之后就可以使用vimtutor了。另外,你应该仔细的阅读这页 ::help usr_02.txt.
然后,你要去学习了解寄存器,插件已经其它的功能。学习vim就像学钢琴一样,所有的都要掌握好。