2018.02.10更新
本文主要对博主多年的vim使用经验做下总结,主要介绍博主工作中最常用到的一些VIM使用技巧。
首先有个“入门秘诀”博主觉得有必要提下:
- 要想比较快速地入门VIM及真正地在日常工作中使用起来,最好是能够在周围找到一个已经把VIM当成主要编辑器的同事,这样就有一个活人Demo可以参考,可以了解到VIM具体可以做到什么程度(有句话这样说“人们没见到汽车前总会以为马车已经跑得很快了”)。
博主就很有幸在第一份工作中遇上这么一个demo同事,不然可能到现在还只是停留在“觉得vim好像很牛逼的样子,自己却总是没办法好好地,长久地把它用起来”这样的阶段。
以下正文。
VIM 简介
VIM 是一款跨平台,开源的文本编辑器,其主要特点有:
-
高效无打断的编辑模式
使用VIM时,依靠各类快捷键可以基本上摆脱鼠标完全使用键盘对文件进行编辑,从而避免编码过程中思路因频繁移动鼠标之类的行为被打断。 -
极强的扩展性
vim支持ctags、taglist等各种可以帮助提升编辑效率的插件与主题,另外VIM的配置功能也十分强大,通过配置_vimrc文件及使用各类插件可以把VIM DIY成最适合自己的编辑器。 - 其他
- VIM还具有很多其他优点,更具体介绍可参看:
- VIM最新版本可到这里下载:
VIM
如何快速入门
Tips:VIM 的基本操作命令快速入门有几个比较好的途径:
- 花20分钟时间看完本文,然后去实践。
- vimtutor --> 在Linux terminal输入vimtutor可以进入一个官方的入门教程,花半个小时左右过一遍即可,然后去实践。
- VIM adventures --> 这是一个在线的vim小游戏,寓教于乐,每通过一个挑战基本都可以解锁一个VIM技能,然后去实践。
基本操作
VIM支持多种不同的工作模式,这边介绍常见的3种模式:普通模式、插入模式、命令模式。
普通模式
第一打开VIM时,模式进入的是普通模式,VIM的大部分编辑操作都是在该模式下进行的,该模式支持常见快捷键有:
- hjkl -> 右下上左
- i -> 在当前位置前插入
- a -> 在当前位置后插入
- o -> 在但前位置下方插入
- O -> 在当前位置上方插入
- dd -> 删除行 (可通过与数字组合来执行多行操作,如:3dd可以删除3行)
- x -> 删除字符
- r -> 替换字符
- yy -> 复制
- p -> 黏贴
- [num] +G -> 跳至[num]行(gg = 跳至文件开头, G = 跳至文件结尾)
- { -> 跳至前一个空行
- } -> 跳至后一个空行
- ctrl + o -> 跳至前一次编辑的地方
- ctrl + i -> 回跳至后一次编辑的地方(相对ctrl + o)
- v -> 批量选择
- ctrl + v -> 批量块选择
- shift + v -> 批量行选择
插入模式
- 在普通模式下按任何插入命令均可进入插入模式(如:i,a,o,O)
- 在插入模式下按ESC键可以退回到普通模式
命令模式
在普通模式下通过shift + :可以进入命令模式,命令模式的常见操作如下:
- :w -> 保存
- :q -> 退出
- :wq! -> 强制保存并退出
- :help -> 帮助手册
- :%s/x/y/g -> 替换(将全文的x替换成y)
- :/ + [内容] -> 查找命令(输入/后输入要查找的关键字,用n/N可以在找到的关键字之间进行跳转)
- :!+ [命令] -> 运行外部命令(比如make)
关于以上命令的更具体的操作可以使用:help + 命令方式查询,
常用插件
这里介绍几个常用插件(默认的的快捷键可参看插件对应的说明文档)。
- Vundle
- 插件管理工具,用来更新vim插件十分方便。只需要一个合适的vimrc + 这个插件即可完成个人VIM环境的配置。
- 下载方法: git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- CTAG
- 提供函数/变量调转功能(使用ctags -R 生成文件关联,使用ctrl + ], 跳转至函数/变量定义处)
- tagList
- 函数名列表(使用tt开关taglist)
- wmanager
- 提供文件浏览窗口(使用wm 开关wmanager)
- color theme
- 颜色主题,比较经典的如monokai,这里用的是jellybeans.
- markdown
- 用于markdown语法高亮
- doxygen
- 用于自动生成doxygen注释
这些插件基本上都能在vim官网找到。
VIM脚本语法
要有效地利用vim配置文件,可以去了解下vim脚本的编写方式:learn VIM script,通过VIM脚本语言可以自己编写VIM插件。
如何快速配置VIM
快速配置VIM只需要三个步骤,这里以Linux为例:
- 拷贝.vimrc文件到~/.vimrc (博主的vimrc)
- git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 打开VIM,执行PluginInstall,等所有插件都下载完毕之后,重新打开VIM即可得到一个看起来好牛逼的VIM环境了。
效果图
这里附上配置后的VIM效果图供参考: