vim是linux下一款强大的源码阅读和编辑工具,使用好了可以展现其无穷的功力。
我们最开始从vim最基本的操作入手,对经常需要使用到的一些操作指令做一个最简单介绍。
编程控制
如果已经使用了ctags 或是cscope创建索引文件的话 那看代码时很是方便
跳转到函数、变量定义处:
ctrl+]:跳转到函数、变量定义和#define宏定义处
ctrl+t:向后跳到后几次光标位置
ctrl+o:向后跳到后几次光标位置
函数体跳转:
[[、]]、[]、][、{}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
光标移动
移动指令有:h,j,k,l,$,G,H,L,{,}
h,j,k,l:
在vim中,除了可使用光标键在移动光标外,还有一种更方便的光标移动方式。就是使用h,j,k,l这四个键来移动光标。h控制光标左移,j控制光标下移,k控制光标上移,l控制光标右移。通过使用这四个字母键就可使我们的手不用移动即可控制光标的移动。
$:
光标移动到行尾。
G:
光标移动到文档末尾。
H,L:
H控制光标移动到当前屏幕头,L控制光标移动到当前屏幕尾。
{,}:
{控制光标上移一个段落,}控制光标下移一个段落
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
插入操作
插入命令有:i 、a、I、A、o、O
i:在当前字符前面插入文本
a:在当前字符后面追加文本
I:在当前行的行首插入文本
A:在当前行的行尾追加文本
O:在光标上新建一空行
o:在光标下新建一空行
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
修改操作
修改命令有:cw、c$ 或 C、cc、r
cw:删除当前位置到该位置单词的末尾,外加插入文本。(只针对英文,中文无效)
c$或C:删除当前光标位置到行尾,外加插入文本。
cc:删除当前行,外加插入文本。
r:删除当前字符,外加插入修改当前字符,其他字符无法修改。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
删除操作
删除命令有:【n】x、dw、【n】dd、D
【n】x:删除当前字符,如果要删除一个中文的话请用2x,因为中文占2个字符。
dw:删除当前位置到一个单词末。
D:删除当前位置到行尾。
【n】dd:删除【n】或1行。2dd\3dd删除2\3 行
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
查找操作
在vim的指令行输入 :/word 按Enter后就可以匹配相应的word了。
输入 n 查找下一个 (向下匹配)
输入 shift+N 查找上一个(向上匹配)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
粘贴、复制、合并操作
命令有:p、y、J、"(引号)