/*写在前面的话
更新了vmware和Ubuntu,要开始研究OpenGL ES了,牵扯到毕设的问题,这次想好好弄,有不懂的就随时记录下来。不管是超级简单的还是超级复杂的,要有一个认真善学的态度。
师兄给我布置了一个小task,读懂一个小程序。首先遇到的第一个问题就是GVIM,我之前用vi只是会一些简单的打开,切换到插入模式,退出等。一直很羡慕那些键盘手,piupiu的使用键盘快捷键用vi对文本进行编辑,感觉碉堡了,所以我也励志学好vi。一点一点来吧,现在用的是GVIM。。。从普及到使用,开始:*/
一、What is GVIM
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。Vim的第一个版本由Bram Moolenaar在1991年发布。最初的简称是Vi IMitation ,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的慈善软件。
Vim是Linux上著名的文本编辑器,他是早年的Vi编辑器的加强版。gVim是Vim的图形前端,它是跨平台的编辑器,基本上主流的操作系统上面都有它的版本。这是一个国际版本,会根据安装的平台自动选择相应语言包,支持中文及其各种编码,连界面也是中文的,请放心使用。这个极具Unix特色和风格(simple is the best)的编辑器相信会给您带来不同的感受。
在Linux Mint 12软件管理器中, gvim被叫做vim-gnome。
二、快捷键
/*熟记一些快捷键可以起到事半功倍的效果,而这些快捷键的熟练程度,需要在自己平时的使用中进行积累;*/
光标的移动(正常模式下)
h 在当前行向左移动一个字符,或者Backspace
j 移动到下一行,或者Enter
k 移动到上一行 或者-号
l 在当前行向右移动一个字符,或者空格键
ctrl+f 向前滚动一页 或者PageDown
ctrl+b 向后滚动一页 或者PageUp
0(零)移至行首(包含空白字符:如缩进的空格),或是Home键
$ 移植行尾 或End键
^ 移到行首的第一个非空白字符
G 移动到文档末尾,或者
gg 移动到文档开头。
w 移动到下一word的开头。
b 移动到上一word的开头。
e 移动到本word或者下个word的末尾。
ge 移动到上个word的末尾。
大写的W B E 和w b e 效果一样但会忽略像. - 等特殊字符。
中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。
( 光标移至句首,句子是以. ? ! 标点来判断的。
) 光标移至句尾
{ 光标移至段落的开头,段落是以空白行来判断的。
} 光标移至段落的结尾
H 将光标移至屏幕顶第一个非空白字符。
M 光标移至屏幕中间第一个非空白字符。
L 光标移至屏幕底第一个非空白字符。这和PageDown,PageUp 不一样,内文内容并未动,只是光标在动而已。
:n 将光标定位到第n行。
n| 将光标移动到本行第n个字符。
三、打开和退出
:e test.txt 打开test.txt文件进行编辑,文件不存在则创建。
:q 不保存文档,退出vim编辑器。
:wq 保存文档然后退出vim编辑器。按ZZ(注意Z是大写的,并且不是在命令模式)或者:x效果是一样的。
:q! 放弃所有修改强制退出,按:q不能退出时就试试这个吧。
四、mode
vim常用的模式有:命令模式(command-mode)、插入模式(insert-mode)、可视模式(visual-mode)、正常模式(normal-mode)
模式的转换方法:
其他模式-====>正常模式
按Esc键
正常模式-====>插入模式
按i在光标前插入
按l在行首插入
按a在光标后插入
按s删除光标所在的字符再插入
按A在行末插入
按o在当前行之下新建行
按O在当前行之上新建行
按S删除光标所在行再插入
正常模式-====>命令模式
按:shift+分号
正常模式-====>可视模式
按v可视模式
按V可视块模式
-------来自百度百科