我的vim配置:
- Supertab使用
SuperTab使用很简单,只要在输入变量名或路径名等符号中途按Tab键,就能得到以前输入过的符号列表,并通过Tab键循环选择。
-
quickfix 使用
,n : 跳到下一个
,p : 跳到上一个
- 搜索当前光标下的字符 ,lv 或者 F3 或者 gd(这种会自动高亮匹配当前字符串)
- 比较多个文件: 在一个窗口中打开多个文件(vsp 。。。),然后再每个窗口下执行 diffthis
- 添加/取消书签 mm
- 编译: :make 也可以不用Makefile,直接 :set makeprg=gcc\ -Wall\ -o\ hello\ hello.c,然后 :make
- F12 在paste和nonpaste模式之间切换,使用paste模式可以保证粘贴的代码格式不乱
- taglist 使用
- 前进 Ctrl + I 或者 Ctrl + i
- 后退 Ctrl + O 或者 Ctrl + o
- 回到局部变量定义处 : gD
- 标签:
- vim 显示历史
q: 进入命令历史编辑。
类似的还有 q/ 可以进入搜索历史编辑。 注意 q 后面如果跟随其它字母,是进入命令记录。 可以像编辑一样编辑某个命令,然后回车执行。 也可以用 ctrl-c 退出历史编辑,但此时历史编辑窗口不关闭,可以参照之前的命令再自己输入。 用 :x 关闭历史编辑并放弃编辑结果,也可以在空命令上回车相当于退出
- 自动换行: :set wrap
- 取消自动换行 :set nowrap
- 替换命令
- [[ 跳转到代码块的开头去,要求代码块中'{'必须单独占一行
- 保存当前文件并退出 ZZ 或者 :x
- 放弃修改,并重新载入该文件的原始内容 :e! (注意:只能还原到上次保存的结果)
- 以word为单位移动: w 前进 b 后退 e前进(移动到下一词的最后一个字符) ge后退(移动到上一个词的最后一个字符)
- 移动到行尾 $ 或者 <End>键
- 移动到行首 ^ (移动到当前行的第一个非空白字符上) 或者 0 (零,移动到当前行的第一个字符上)同home
- fx 在当前行查找下一个字符x
- Fx 在当前行查找上一个字符x 上面这两个命令都可以用";"来重复
- 跳转到58行 58G 或者 :58<Enter>
- ctrl-U 文本向下滚动半屏 ctrl-D 窗口向下移动半屏
- ctrl-F 向前滚动一整屏 ctrl-B先后滚动一整屏
- zz 当前行置于屏幕正中央
- zt 当前行置于屏幕顶端
- zb 当前行置于屏幕底端
- vim 中搜索时需要转义的字符: .*[]^%/?~$
- vim 列编辑