VIM工具使用各种快捷方式,熟练掌握能够做到事半功倍的效果
复制粘贴
- 复制:
yy:复制当前行。nyy:复制当前行及其下面的n行(n为数字)。yiw:复制当前光标所在的单词。y$:复制光标所在位置到行尾的文本。y^:复制光标所在位置到行首的文本。yG:复制当前行到文件末尾的所有内容。v进入可视模式,移动光标选择要复制的文本,然后按下y键。
- 粘贴:
p:将复制的内容粘贴到当前行的下方。P:将复制的内容粘贴到当前行的上方。:put:将复制的内容粘贴到光标所在行的下方。:put!:将复制的内容粘贴到光标所在行的上方。"+p:将系统剪贴板中的内容粘贴到当前行的下方(仅适用于支持系统剪贴板的Vim版本)。"+P:将系统剪贴板中的内容粘贴到当前行的上方(仅适用于支持系统剪贴板的Vim版本)。
搜索和替换:
/pattern:在文件中搜索匹配pattern的文本。:s/old/new/g:将当前行中所有匹配old的文本替换为new。:%s/old/new/g:将文件中所有匹配old的文本替换为new。:s/old/new/gc:将当前行中所有匹配old的文本替换为new,并提示用户确认每次替换。:%s/old/new/gc:将文件中所有匹配old的文本替换为new,并提示用户确认每次替换。
缩进和格式化:
>>:将当前行向右缩进一个shiftwidth(默认为8个空格)。<<:将当前行向左缩进一个shiftwidth。={motion}:将motion所选的文本块自动缩进。gg=G:将整个文件自动缩进。
分屏和标签页:
:split:将当前窗口分成两个上下排列的窗口。:vsplit:将当前窗口分成两个左右排列的窗口。:tabnew:打开一个新的标签页。gt:在标签页之间切换。
文件操作:
:w:保存当前文件。:wq:保存当前文件并退出Vim。:q!:放弃所有修改并退出Vim。:e filename:打开一个新文件。
代码折叠:
zf{motion}:根据motion所选的文本块创建一个折叠。zo:打开当前折叠。zc:关闭当前折叠。zr:打开所有折叠。zm:关闭所有折叠。
括号匹配:
%:在括号之间跳转。:set showmatch:显示括号匹配。
代码补全:
Ctrl + n:在当前文件中补全单词。Ctrl + x, Ctrl + o:在当前文件和已打开的文件中补全单词。
多窗口操作:
Ctrl + w + h/j/k/l:在窗口之间切换。:sp filename:在新窗口中打开一个文件。Ctrl + w + _:将当前窗口最大化。Ctrl + w + =:将所有窗口平均分配大小。
宏录制:
q{register}:开始录制宏,并将其存储到指定的寄存器中。q:停止录制宏。@{register}:执行指定寄存器中的宏。@@:执行上次执行的宏。
上下走:
j:向下移动一行。k:向上移动一行。Ctrl + d:向下滚动半屏。Ctrl + u:向上滚动半屏。Ctrl + f:向下滚动一屏。Ctrl + b:向上滚动一屏。G:移动到文件末尾。gg:移动到文件开头。{n}G:移动到第n行。
左右走:
h:向左移动一个字符。l:向右移动一个字符。w:向右移动一个单词。b:向左移动一个单词。0:移动到行首。$:移动到行尾。%:移动到当前括号的匹配括号位置。
