尝试使用vim有一段时间了,现在总结下有关于vim的学习
vim作为程序员的编辑神器,可以提供编辑文本的效率,我觉得主要表现在以下几点:
1. 众多的快捷键,使得几乎可以回到terminal的时代,减少鼠标的参与。毕竟鼠标提供的相关功能有限,然与快捷键如果能娴熟使用,速度能显著提高,何况快捷键可以提供众多的功能,使得一些复杂的操作只要一些按键操作就可以完成。
2. 丰富的plugin,用于可以自己定制相关的plugin,提供很多便利,例如方便的浏览文件,cpp文件和h文件的切换等等。
3. 用户可以自由定制自己的.vimrc文件,配置出一款自己最熟悉的文本编辑器。
首先可以参考这个网址http://edyfox.codecarver.org/html/vim_for_beginners.html开始vim的入门学习,其中讲述了vim的安装,基本的配置,以及vim从入门到进阶的学习路线。
最开始我相信大部分人都会浏览下vim的入门教程,在terminal中运行vumtutor即可,只要花大概半个小时就可以大致的了解vim的一些基本操作,例如光标的移动,文本复制粘贴等等。
接下来我在网上狂搜了一些vim资料,实在是太多了,看到vim的一些高效编辑的示例,坚信自己继续学习vim的道路。其次大家可以参考以下网址对vim进行一些基本的配置,主要是语法高亮,一些经典的plugin配置,可以大大的提高vim的效率,相信熟悉了这些plugin大家就可以见识到vim的强大,我想这只是vim初显庐山真面目。刚开始不要把vim配置的过于复杂,只要一些基本的配置足矣应付几乎所有的操作。
http://blog.csdn.net/wooin/article/details/1858917经典之作,这是linux下的配置
http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html这是windows下的配置,不过后面有关于python的配置中有些快捷键貌似与系统原有的冲突了
配置完以上的相关plugin,你可以看到语法高亮,文件浏览变得异常方便,浏览源码非常清晰等等。
最后应该是“VIM用户手册”(正在学习中),大约400多页,讲述了vim操作的方方面面,下面列出阅读该书辑的一些笔记,用于备忘:(会陆续更新...)
添加菜单栏,工具条和滚动条
:set guioptions+=m
:set guioptions+=T
:set guioptions+=l
/*-------------------------------"."命令的强大用法-----------------
"."命令会执行上一次所执行的更改命令
案例:
/four<Enter> 找到第一个字符串"four"
cwfive<Esc> 把它改为"five"
n 找到下一个字符串"four"
. 同样改为"five"
n 继续找下一个
. 做同样的修改
----------------------------------"."命令的强大用法--------------*/
/*-------------------------------文件保存--------------------------
:saveas xxx 另存为xx
:vim -R xxx 以只读方式打开文件xxx
---------------------------------文件保存------------------------*/
/*-------------------------------"."命令的强大用法-----------------
i:在字符后面插入 I:在行末插入
a:在字符前面插入 A:在行首插入
o:在下一行另起一行插入 O:在上一行另起一行插入
-----------------------------------insert:------------------------*/
/*-----------------------------------move------------------------
字符间的移动:w,e:前进(字符串首部/尾部) b:后退(字符串首部)
W:前进 B:后退(以空白字符作为WORD边界)
$:移动到行首 0:移动到行末
22G:跳转到第22行
%:括号间跳转
20%:跳转到文件20%位置处
H:跳转到文件最前面 M:跳转到文件中间 L:跳转到文件最后面
fx:移动到本行指定的字符x上(向右搜索)
fX:移动到本行制定的字符x上(向左搜索)
ctrl+g:显示光标当前所在位置
屏幕移动:
ctrl+u:使文本向下滚动半屏 ctrl+d:使文本向上滚动半屏
ctrl+f:使文本向下滚动一个屏幕 ctrl+b:使文本向上滚动一个屏幕
ctrl+y:使文本向下滚动一行 ctrl+e:使文本向上滚动半