因为在linux下开发,所有常常用到vi,将常用的快捷键记录一下:
vi有两中模式,一个接收添加删除上下一动等的命令,类似察看模式,一个是编辑模式,就是可以在里面敲代码了,进入vi之后,默认就是察看模式,键入i之后,就开始编辑模式了。这里所说的命令都是在察看模式使用的。
1. 移动类型:
为了在vi中快速翻阅,快速察看,常用这几个需要记住:
G 移动到代码第一行
H 移动到代码最后一行
h 前移动一个字符
l 后一动一个字符,这里是小写L
j 下移动一个字符
k 上移动一个字符
0 行首
$ 行尾(正则中也是用来标示字符串结尾的)
2. 切换类型
!sh 切换到shell模式(需要先shift+;,然后再输入),之后可以ctrl+d,或者敲入exit命令回到vi编辑
3. 删除
删除命令都是删除数量+删除模式
3dd:删除3行
3x:删除3个字符
3dw:删除3个字,也就是删除3个单词
D:删除光标到行尾的字符
d$: 和D相同,并且可以推导出来,d为删除,$为行尾,于是就是删除光标到行尾字符
d0:删除光标到行首,这个也能推导,0代表行首。
4. 撤销与恢复
vi中实际上没有恢复的说法,所带的恢复快捷键仅仅是撤销前面按u造成的更改回退
撤销:u
恢复前面撤销造成的更改:ctrl + r
5. 查找
/词 :向下查找
?词 :向上查找
注意:这两个都是要shift+;之后输入的,按n可以察看下一个查找到的结果
6. 替换
1,4/词/新词/g:
逐个分析,1,4指定替换的查找范围,意思是第一行到第四行,可以换成2,$表示第2行到最后一行,.,$,点加上$,表示当前行到最后一行,但是这么写比较长,不好看,可以写成:%/词/新词/g,表示所有行都替换。/词/新词,就是把词替换成新词。/g表示每一行的所有词都替换,如果没有g,则只替换每一行查找到的第一个词。
当想查找的词含有/字符的时候,可以这样 1,4#词#新词#g, 这样的话/符号就能存在在词中。
7. 多文件和分屏
vi编辑多文件其实不怎么好用,在察看过程中shift+;,输入
sp 文件路径 :上下划分vi界面
vsp 路径 :左右划分当前vi界面,其实看到v就知道是左右划分了,因为vertical嘛,插入一条竖线,不就是左右分屏么
ctrl + w w :快速在几个vi编辑框中切换
ctrl + w q :顾名思义,quit出一个窗口
ctrl + w o :仅仅显示这一个窗口,o估计是open的意思吧
一般记住这写,就能用vi做些编辑了,个人还是喜欢别的图形化的编辑器,但是改改少量的代码,或者写个简单的demo,vi还是很方便的。