开始学习Vim

最近趁暑假不是太忙,一边开始整理一些旧的笔记,一边开始读一些买了很久但是没有时间去啃的书。在这个过程中,我发现目前的知识管理/组织非常混乱,不仅缺乏一个结构化的知识框架,而且笔记之间的联系非常混乱。在要使用的时候,一方面效率非常低,一方面难以准确的找到自己想要的。于是,我开始寻找一些软件来试图解决这个问题。最开始尝试的是OneNote,这个微软出品的笔记软件继承了其大而全的风格,功能强大。我曾用OneNote试着记了几天读书笔记,实在用不习惯。一方面它功能太多,记个笔记还需要调来调去,浪费不少时间,另一方面它强迫你使用它的三层框架结构。然后我开始用Evernote记笔记,这个软件比OneNote更符合我的使用习惯,并且它是一个全平台+网络同步的好东东。在我笔记本上记的笔记甚至可以用iPhone直接查看。而且Evernote官方出品的Chrome插件可以快速的将网页保存为笔记,非常适合做网摘。但是尽管如此,Evernote对于知识结构的组织上还是缺乏一个良好的体系。虽然我也很喜欢用tag来为文章加标签,创建笔记本来分类,但是还是非常缺乏效率。经过长时间寻找,偶然间我发现了一个网页,顿时眼睛一亮!这就是我一直寻找的东西!于是下决心开始弄个自己的Vimwiki。

Vimwiki是个Vim的插件,可以方便的使用Vim管理组织自己的wiki并能生成出漂亮的HTML文档。开始之前,在网上找了很多的资料和教程。我发现几乎所有的资料和教程都要求至少会用Vim。虽然我很早就装了这个号称文本编辑神器的Vim,但是一直都不会用。下了很多教材也没真正静下来好好学过。我管不了这么多,于是就几乎在完全不会用Vim的情况下强行学习Vimwiki。费了很大的功夫,基本上能鼓捣出点东西来。最后在我把我的wiki(学习用的,什么内容都没有)转换成网页然后再Google Chrome上打开的时候,欣喜若狂。终于!这就是我想要的!虽然只是纯文本。

欣喜之余,我决定好好学习Vim。人说Vim学习成本很高,但是学成之后用这个写东西效率非常高。OK,作为一个搞计算机的,最本质的工作其实就是在电脑上写东西,程序,文档(主要是LaTex)说穿了都是纯文本。掌握Vim相信对我以后工作学习都很有帮助。

铺垫写这么多,该进入主题了。呵呵~

第一个问题是,什么是Vim。说简单一点,Vim是一个文本编辑器,作用等同于Windows自带的记事本。那么为什么Vim号称编辑神器、程序员的编辑器?因为Vim非常强大,熟练的老手用Vim写文档效率奇高。就我目前对Vim的了解,我觉得主要有四个原因:一是多模式。记事本只有一个模式,就是编辑模式,而Vim有三个模式:插入模式(insert mode)等同于记事本的编辑模式;正常模式(normal mode)下可以用各种命令移动光标、翻页、删除、插入、查找、替换,非常快捷;视觉模式(visual mode) 可以选取一部分文字进行删除拷贝等操作。三种模式确实效率非常高,虽然我接触的时间还不长,但是已经体会到这一点了。第二个原因是丰富的命令。在正常模式下,原本简简单单的功能诸如移动光标、翻页被细分成许多个命令,而且这些命令还可以加上参数使其更加强大丰富。第三个原因是支持插件。Vimwiki就是一个插件,其他还有很多非常有用的插件等以后我慢慢学习之后会写一些东西来介绍。第四个原因是对大文件读取非常快。之前我曾用Vim编辑过100MB+的文本文件,Vim几乎是瞬间打开,而其他编辑器如notepad++几乎死机。此外,像语法高亮等等常见的功能Vim做的比其他的程序编辑器更好(个人感觉)。所以,Vim是一个非常强悍的文本编辑神器。

第二个问题是,我是怎么开始学习Vim的。Vim的学习成本很高,意思就是说,要从不会用到会用,会经历一个很痛苦的学习过程。跟玩QQ/MSN装好就知道怎么用不一样,Vim必须经过一个阶段的学习。一方面是由于Vim的很多概念并不是那么简单易懂,一方面是由于Vim有很多的命令需要掌握方能提高效率。在网上找了一圈,得到的建议是从vimtutor开始。vimtutor是Vim自带的教程,在普通模式下输入”:help tutor”可以了解如何使用vimtutor。如果是装了特定语言,比如中文,可以输入”:help tutor@cn”查看中文帮助。我一开始在Windows 7系统上弄,没想之后遇到很多麻烦,花了很多时间都没有弄好,最后还是在Ubuntu上面使用vimtutor。没想到在Linux上面使用这个vimtutor非常简单,只需打开Terminal(前提当然是你已经装好了Vim),然后直接输入vimtutor。程序会自动进入vimtutor,并且自动完成在其他系统下需要手动完成的建立tutor拷贝的一系列操作。tutor的第一页上介绍整个tutor大概需要30分钟,但第一次使用tutor的我足足花了一个半小时才学习完毕。并且学习完之后,除了移动光标的四个命令“h”,”j”,”k”,l”之外,其他基本上通通忘光。不过整个tutor下来,深深觉得Vim确实是一款很神奇的东西。

下一个问题是,接下来该做什么呢。在接下来的一周,我会花时间多看几遍这个vimtutor,逐渐记住常用的命令,然后开始学习进阶一点的东西。同时我也会系统的学习一下vimwiki这个东西,毕竟这也是我学习Vim的直接原因。

最后,我搜集了一些关于Vim的资料。

  • 《普通人的编辑利器——Vim》[link] by xbeta
  • 《Vim 学习路线》[link] by 闲耘
  • 《程序员的编辑器——VIM》[link] by dieken
  • 《Vim简介》[link] by 滇狐

原创文章,转载请注明: 转载自 iDEAnels

本文地址: 开始学习Vim

Leave a Reply

Your email address will not be published. Required fields are marked *