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
:移动到行首。$
:移动到行尾。%
:移动到当前括号的匹配括号位置。