玩转Vim-札记(一)

玩转Vim-札记(一)html

  简介编程

  在这个蔚蓝色的星球上,流传着两大神器的传说:听说Emacs是神的编辑器,而Vim是编辑器之神。一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长,仍是有一些人留下来了,坚决地守护着这两大神器。一些说葡萄太酸的人想离开又不甘心,老是问:它们到底神在哪里啊?不过在此我只介绍传说中的编辑器之神-Vim。Vim是Vi最受欢迎的变种之一,除了继承了Vi迅捷的编辑方式, Vim的功能已经比原始的Vi强大得多。这也得益于它能够用Vim脚本无限地扩展。 Vim.org 上已经有数千个脚本了,给Vim增长各类各样的特性和功能。并且它的设计更符合Unix传统,它经过管道机制和系统内各类积木工具打交道,它讲究的是和系统内的工具程序协做来完成用户的任务。除此以外,它的定位也至关明确,就是作一个强大的编辑器,所以它的绝大部分扩展,都是为了更好的完成编辑文本的任务。Vim的前身Vi的做者Bill Joy和Emacs的做者Richard Stallman 都是那个时代著名的黑客,因此这两款编辑器一开始面向的主要用户就是写程序的人,如今仍然是。它们对编程加入了愈来愈多的支持,如语法高亮、智能缩进、关键字补全甚至集成调试。vim

初窥门径服务器

  要想玩嘛,首先须要先安装一个Vim再说咯。因为个人开发通常都是在CentOS上进行的,因此就说下它的安装吧。其实也就是一行命令的事儿了:编辑器

1 [root@voidy ~]# yum install vim
2 Loaded plugins: fastestmirror
3 Setting up Install Process
4 Loading mirror speeds from cached hostfile
5 epel/metalink                                                                                                 | 4.3 kB     00:00    

  至此vim安装结束,如今先不要进行任何操做,先接着往下看:工具

1 [root@voidy site-packages]# vim site.py

  而后就会看到以下的界面:学习

1 def __boot():
2     import sys, imp, os, os.path
3     PYTHONPATH = os.environ.get('PYTHONPATH')

   此时进入了所谓的常规模式(Normal Mode),既然提到了模式这个概念,那么就详细的说下Vim的两种模式吧。spa

  常规模式(Normal Mode)与插入模式(Insert Mode):.net

  常规模式:能够进行编辑,对已存在的文字进行一些操做,包括:复制,剪切,移动,修改,删除,格式化等等。插件

  插入模式:也就是传说中的输入了。

  而大部分的编辑器都只有一种模式,以上两部分的操做合并在一块儿进行,这就是为何会有菜单和按钮的缘由,而对于文字的范围选择也须要额外的方法来辅助,好比快捷键和鼠标操做等。不管是什么样的状况咱们都不得不迫使大脑在思考(输入)和寻找(编辑)中不停转换,即便你不在乎这一点,始终有一些操做你是没法流水化的。好比说:在光标随意停留在某处的时候,你能闭着眼睛用鼠标点击到某个功能吗?Vim 就能够。换言之一旦你掌握了 Vim以后,全部的操做——强调一遍:全部的操做均可以不用寻找,不用鼠标等工具辅助,你能够全副身心投入在你的主要目标上。

  那么问题来了,如何在两种模式间进行切换呢?

  其实很简单的。进入文件以后直接就是常规模式,那么从常规模式进入到插入模式只须要从如下几个命令选择一个便可:

1 i:在当前字符的左边插入 2 I:在当前行首插入 3 a:在当前字符的右边插入 4 A:在当前行尾插入 5 o:在当前行下面插入一个新行 6 O:在当前行上面插入一个新行

   那么如何从插入模式进到常规模式,最多见的有三种:

  1. 使用 ESC 键:这是最通用的方法,它惟一的缺点就是距离标准键位较远,然而因为它的位置在左上角,因此你也能够作一些强化练习来准确的找到它。记住:不要看键盘去找,要造成肌肉记忆!也有不少人偏好修改 ESC 键位,好比说把它转移到 CapsLock,即大写锁定键上去,这是可取的,而且也十分有效,然而我不推荐这么作。由于修改键位相对来讲麻烦一些,在某些场景会让你颇感不便。好比说你去客户那里安装服务器,遇到的几乎都是标准键盘,不光是在 Vim 下让你难受,其余的地方也是如此,由于 ESC 太经常使用了,并且没有第二替代键。

  2. 使用 Ctrl-[ 组合键:它的功能和 ESC 彻底等价,只是组合键稍微困难一些。这里的窍门是 Ctrl 键的位置,我会把它从新映射到 CapsLock 键上去。这样一来两手的小指稍微移动就能够完成,稍加训练便可熟练掌握。这也是我不推荐 ESC 的第二个缘由,至于以前提到过的键位映射带来的后遗症,没关系,键盘上都有不止一个的 Ctrl 键,你根本无需调整键位。

  3. 使用 Ctrl-c 组合键:看起来它彷佛比 Ctrl-[ 更容易一些,可是它们的含义有很大的差异。在终端下 Ctrl-c 的意思是“中断”,基本上它会停止全部正在运行的命令,固然它也能够在 Vim 里带咱们中断一切操做返回默认的常规模式。可是 Vim 有一些操做实际上是依赖正常的返回方法的,也就是 ESC 或者 Ctrl-[,使用 Ctrl-c 会致使这样的功能没法被有效触发(有很多插件依赖这些触发功能,因此要当心莫名其妙的问题)。总而言之这是最不推荐的方法,除非你内心颇有数,而且能在正确的时候使用前面两种方法。

  好的,模式的介绍就此打住,在真正玩以前,特别建议要学会VIm的移动指令:Vim 的基本移动就是 h j k l 这四个键,分别表明    

1 h 光标左移 2 j 光标下移 3 k 光标上移 4 l    光标右移    

  很特别是吗?好吧,我认可是很古怪。然而你必需要习惯它们,而且永远不要更改它们的键位!这样你就能够没有小键盘的状况下也能够快速的移动,固然,最主要的是你还能够手指不用怎么大幅度的移动。至于为何要这么设计?好像键盘都是这么设计的吧。不信的话戳这里。

  很很差记,很难练是么?不想练习是么?没事,下面给你四个有趣的东西,相信你会不知不觉爱上这些方向键的:

  1. Vim Adventures 这是一款在线游戏,玩法超级简单,控制键都是 Vim 的移动指令。你所要作的就是把键盘当成手柄,移动一个阴影来寻找字母、人物、宝藏、钥匙等等。若是你没法过关也没有关系,重要的是控制方向这个环节可以把它练习到无需思考且不会犯错就能够了。
  2. Vim Snake 若是你以为上一个游戏有点难,由于没法过关让你有挫折感的话,这个游戏就简单多了——贪吃蛇,谁不会玩?只不过你只能用 h j k l 来控制方向而已。注意,只有在插入模式(i)才能吃到东西,只有在常规模式(ESC)才能移动方向。完整的流程以下:移动 -> 对准目标 -> 按下 i 直到吃到目标 -> 迅速按下 ESC -> 移动。关于模式,咱们下次解释。
  3. Open Vim Tutorials 若是以上两款游戏都让你为难的话(喂,你不是吧?!),那么这就是你的救星啦。请直接跳到第三章练习四方向移动,等到开始习惯这种感受了再继续挑战游戏。
  4. Vim Genius 这也是好东西,它比上一个更贴近 Vim 的哲学。它不让你看到要按哪一个键,而是给你文字提示让你盲打对应的键,其好处是锻炼本身的肌肉记忆和条件反射思惟。然而它比较依靠你的自控能力与耐心,另外英文很差也会有点拖累。

  至此,Vim的大门已经打开,这次介绍也就到此结束了。

  以上。Enjoy Vim!

 

PS:本博客欢迎转发,但请注明博客地址及做者,因本人水平有限,如有不对之处,欢迎指出,谢谢~

  博客地址:http://www.cnblogs.com/voidy/

  博客新址:http://voidy.net

  <。)#)))≦

相关文章
相关标签/搜索