VIM的使用
1 多行注释
- 在普通模式下,按Ctrl+v,进入选择模式
- 按上下左右hjkl,选中要注释的行
- 按shift+i,插入注释符号//
- 按esc,即可多行注释
2 删除多行注释
- 在普通模式下,按Ctrl+v,进入选择模式
- 按上下左右hjkl,选中要注释的行
- 按d即可删除
3 函数变量跳转
- 安装ctags
sudo apt-get install exuberant-ctags
- 在代码目录下,执行
ctags -R .
- 打开代码文件
ctrl + ] : 跳转
ctrl + T : 回跳
4 宏操作(批量操作)
q键是“录制”按钮,也是“停止录制”按钮
一开始需要按q{register},例如qa
从而指定一个用于保存宏的寄存器a中,状态栏出现recoding,表示录制开始。
之后会记录下执行的每一条命令
直到在此按下q键,录制完毕。
:reg {register} 查看宏命令内容
@{register} 表示执行register中录制的宏。例如@a
22@{register} 表示执行22次register中的宏。
:'<,'> normal @a //对高亮区域的每一行执行宏
:2,5 normal @a //对2~5行执行宏
5 搜索替换
substitute命令允许我们查找并替换掉文本,并支持正则式
:range s/pattern/string/flags
range表示范围,比如10,20
表示10-20行,%
表示全部
patter表示要替换的模式,string是替换后的文本
flas有几个常用的标志:
g(global)表示全局范围内执行
c(confirm)表示确认,可以确认或者拒绝修改
n(number)报告匹配到的次数而不替换,可以用来查询匹配次数
如::% s/self/this/g
:1,6 s/self/this/g
:% s/self//n
//因为查询匹配次数,所以string位可以为空
:% s/\<quack\>/this/g
//只替换quack单词,不替换包含quack的单词,如my_quack