vim 命令备忘
insert
- A I
- i a
- o O
modify
- r R
- gu gU guu gUU Vu VU
- J ~
- = < >
- c C cc cw
- p P
motion
- h j k l
- 0 $
- ^ g_
- w W e E b B ge
- ( ) { }
- C-i C-o
- C-d C-u
- 10G/10gg/:10
- G gg
- H M L
- % * #
- fa ta Fa Ta
deleting text
- x X
- d$/D dG
- dd/:d
searching
- /string ?string n N
- s/str/str/g
- %s/str/str/gc
visual
- v
- vi( va(
- v2i( v2a(
- C-v
file
- :e
- :w
- :r
- :q
- :saveas
- :x/ZZ/:wq
- :n :p
- :qa
- :bn :bp :n :bd
- C-w
others
- .
- C-r u U
- 100iasd [ESC]
- qa, q, @a, aa
分屏
- vim -On file1 file2
- vim -on file1 file2
- vim -p file1 fil2 标签页
- C-w hjkl
- C-w v/s
浏览目录
- :E
- :He! :He 上,下分屏浏览目录
- :Ve :Ve! 左右
- :Te tab页浏览目录
- gt gT 换页 {i}gt
- :tabs
- :tabclose
保存回话
- :mksession file.vim
- vim -S file.vim
- :qa :wqa
quickfix
- :cw cwindows 把命令结果取回
- :cp :cn 上一个,下一个
- :cl 列出所有
- :cc 显示详细
代码补全
- C-n C-p 关键字补全 C-E 退出下拉窗口 C-Y 退出并接受当前选择
- C-x
其他编程相关
- ga 查看光标字符ascii
- gf include的文件
- [[ ]] 跳到{代码块
- gD 调到变量定义处(第一次出现)
- 跳到上次停靠的地方, C-i C-o
- mx 设置书签,x只能a-z
- `x
>>
<<
>aB
>iB
缩进块- 选中单词
viw
,修改光标所在单词ciw
define
- <,undo>
- <,tree>
- <,line>
- <,tag>
- <,r> # replace the selected text
- <,n> <,p>
<F5>
completion
<C-space>
<C-p>
<C-n>
<Tab>
go definition/assignment
<,g> <,d> <,n> <,rname>
find file
<C-F>
mutiply select
<C-N>
<C-P>
<C-x>