前段时间,著名的编辑器 vim 发布了 8.0 版本。 作为编辑器之神,受到了很多程序员的喜爱,据说能与之抗衡的,只有神的编辑器 – emacs 了。
学习 vim 是我踏入 IT 以来,学习的最有价值的东西之一。 我现在依然还记得,大一的某个时候,我怀着好奇的心情打开了 vim。 起初的几次,我在它的 GUI 菜单上做的个性化设置一重启就没了。 默认的设置实在是太丑了,于是就丧失了使用它的兴趣。
不过我没有放弃,之后的某天傍晚,我安装了一个很漂亮的透明终端, 然后按照我查到的资料,怀着好奇的心情敲入了命令 vimtutor。 当天傍晚,外面小风一吹,让我感到神清气爽。 配上好看的透明终端,我就照着教程学习起来了。 至此,我踏入了一个新的大门里。
不久后,我尝试在终端里用 vim 敲了一些 C 语言代码。 那次的感受,我至今还记得,就像一股清风徐徐拂过,一种很舒服很爽的感觉。
之前,我写程序的时候,一只手始终在键盘和鼠标键切换,有时候摸错了,就像看电影卡碟一样让人感觉很不爽。 而另外一只手,在茶杯上,键盘上,下巴上,脑袋上游离,养成了好多强迫症。
现在,有了 vim,我的两只手始终都在键盘上,流畅的编辑体验,从 vim 开始!
1. vim 是什么?
vim 是一个很古老的编辑器了,官方网站在这:http://www.vim.org 所谓编辑器,通俗的来说就是记事本,拿来编辑类似 txt 的文本文件的。 但是 vim 的特色在于,它能使用纯键盘的主键区来完成各种编辑操作。 编辑过程中,你的手完全不用离开键盘。
其实在以前的时候这也是没有办法的事情,那个时候还没有鼠标呢。 但是后来很多人发现,用这种看似古老的方式编辑,其体验竟然远远好于现代的用鼠标和键盘配合的编辑器!
通过一些配置和安装一些扩展,vim 也能 勉强 当做编辑代码的 IDE 来使用。 但是,vim 的精髓,不在于扩展能力,而在于它的 编辑方式 。
相比一般的 windows 软件,vim 的配置比较难而且不直观。所以,vim 的学习曲线比较高。
2. 安装
之前 vim 的更新一直是很慢的,这次据说是受到了 neovim(一个 vim 的 fork 版本)的刺激,才赶紧加快速度,出了个 8.0 版本。
2.1. windows
2.1.1. 安装版本
安装版本在 vim 的官方网站 http://www.vim.org/download.php#pc 可以找到。
2.1.2. 绿色版本
如果你和我一样,更喜欢绿色版本,带在 U 盘里,随用随开,那这里有便携写版的下载:\ http://portableapps.com/apps/development/gvim_portable
2.2. linux
linux 就更方便了,使用包管理器安装即可。 以我使用的 deb 系用例,安装 vim-gtk 包,会安装 GUI 版本的 vim,也会有终端版本的 vim。
|
|
注意:你可能注意到了 debian 下有个包 vim-nox,这个包是不带图形界面的版本。 你可能想只使用终端 vim 所以只安装这个, 但是据我个人的实际经验,这个 vim-nox 缺少部分功能,像剪贴板支持等(debian Jessie)。 所以还是建议安装完整的 vim-gtk,也不在乎多那么点空间。
3. 开始使用!
3.1. tutor
第一步的使用,就是阅读官方的新手教程!令人激动是,这个教程是中文的! 好,现在启动教程来学习吧!
这个教程很短,也很简单,但是足以带领你于学习 vim 的编辑方式了。 跟着这个教程学完,你大概就能掌握 vim 的基本操作了。
3.1.1. 便携式的 windows 版本
在你的 vim 目录下,App/vim/vimxx/vimtutor.bat(xx 是版本号)就是新手教程了,双击启动它!
3.1.2. linux
直接在终端输入 vimtutor 命令,就能启动它了!
3.2. 模式
和普通的编辑器不同,模式是 vim 独特的一个概念。
常见的三种模式是:
- 普通模式: 这个模式下,你敲入各种字母,并不能输入字符。这个模式下敲入各种字母,其实是各种快捷键,执行对应的功能。比如 dd(按两下 d)删除一行。
- 插入模式: 普通模式下按 i 或 a 进入插入模式。在插入模式,敲入各种字母,就能在光标处输入字符了。插入模式下按 ESC 键退回普通模式。
- 命令模式: 普通模式下按
:
进入命令模式。这个模式下输入各种 vim 命令(比如 help 命令是查看帮助),然后回车就能执行。回车后一般 vim 就又返回到了普通模式。
这些自己试一试就明白了。 由于默认打开的 vim 是在普通模式,所以第一次使用 vim 时,噼里啪啦在键盘敲几个字,却发现 vim 的反应却很奇怪。
3.3. 帮助
vim 贴心的提供了 help 命令用来查询官方的帮助文档。这里提供几个很有用的:
:help quickref
查看常用的快捷键。:help user-manual
查看用户手册,这里系统的告诉你如何使用 vim 来编辑文件。:help how-to
how-to 指引,按照主题列出了一些常见的问题。
4. 编辑文件
作为编辑器,即使它再神,它的本职工作仍然是编辑文件,它的一切功能都是为编辑而服务的。
4.1. 打开文件
打开一个文件可以使用 edit
命令(为了方便提供了简写 e
)。比如打开~/test.txt 文件:\ :e ~/test.txt
对于熟悉 linux 的用户来说这种方式打开不是什么问题,通常 linux 下的路径比较好输入一些。 但是 windows 呢?特别是编辑在桌面上的一个文件,那路径,太长了。。。。
如果用的是图形界面的 vim,还有更直观的打开文件的方式。 第一种,直接用鼠标把文件拖进去就行了。 还有一种方式,在 vim 中输入 vim 命令 :browse
,就会弹出一个对话框,选择你要编辑的文件即可。
甚至 vim 可以自定义快捷键,还可以把这个命令绑定到普通模式下的一个快捷键下,这样按几个键,就能打开这个对话框了!
4.2. 编辑文件
这是 vim 的精髓部分,熟练使用它,你不仅得到舒适的编辑体验,编辑效率也更上一层楼! 这部分内容太多,掌握它需要靠不断的使用和思考。有时间我会整理一份 vim 编辑的快捷键清单和技巧的。
4.3. 保存文件
使用命令 write
(简写是 w
),就能保存文件了。
使用命令 quit
(简写是 q
), 退出 vim。 如果还有文件没有保存的话 vim 会不让你退出,这时使用 q!
命令就能丢弃修改退出了。
5. 基本配置
5.1. 配置文件路径
vim 的配置相关的文件分两部分,一个是用于存放插件和帮助文档的文件夹,一个是用以编写配置的配置文件。
关于配置文件路径的更多信息,在 vim 中使用命令 :help vimfiles
和 :help vimrc
可以查看官方的文档。 这里简要的说明一下。
5.1.1. windows
windows 下,安装版的路径比较麻烦所以我推荐用便携版本的。
便携版本下, 放 vim 目录下的 Data/settings/vimfiles 是存放插件和帮助文档的。
配置文件是放在 Data/settings/vimrc 下面的,或者是 Data/settings/vimfiles/vimrc 下。 我建议用后者,这样你的 vim 相关的东西都能保存到同一个文件夹下了,方便管理。
如果是使用后者的话,要注意的是把前面的那个删掉。因为 vim 会优先使用前面的那个路径查找配置文件的。
5.1.2. linux
linux 下,~/.vim 目录是存放插件和帮助文档的,~/.vimrc 或~/.vim/vimrc 是配置文件。 同样,我建议配置文件路径用后者,方便管理。
5.2. 中文帮助文件
前面说过,vim 命令模式的 help 命令,能方便的查阅官方提供的文档。 但是像我这样英语不好的,硬着头皮读起来,虽然大约能懂,但是很费脑子和精力,总归没有母语看着那么惬意舒适。 好在一群无私的 vim 爱好者翻译了 vim 的官方文档,见这个网址:http://vimcdoc.sourceforge.net/ (提示:可能需要梯子)
下载那个页面提供的压缩包,解压,有个 doc 目录,把里面所有的文件 copy 到~/.vimrc/doc 目录里(windows 便携版则是 Data/settings/vimfiles/doc)。
现在,你的中文文档包就已经安装好了。之后,把中文文档设置默认的。编辑你的 vimrc 配置文件,加入:
|
|
重启 vim,再次试下 :help
命令,是不是变成中文了?
6. 结尾
虽然说很多人给 vim 编写了很多扩展试图将其扩展成更强大的软件,但是这些扩展功能用起来总不如专门的软件用起来舒服。 vim 最精髓的地方是其提供了一种编辑模式,用好这种编辑模式,你就得得到非常好的编辑体验和效率。
最后推荐一本书,这本书传授了用 vim 编辑的各种技巧,短短几个按键,你就能完成各种复杂的编辑任务。 这本书的英文名字是《Practical Vim》,中文名字是《vim 实用技巧》,网上能找到 pdf 下载版的。
用习惯了 vim 后,你会发现,你再也受不了其它编辑器了,其它的编辑器都非常难用,只有使用 vim,才能体验到编辑的快感。
7. 更新记录
-
对于 debian 下的 vim-nox 包做了特别说明。