vim
常用命令
- 打开文件:
vim filename
- 打开名为filename
的文件。 - 保存文件:
:w
- 将当前文件保存到硬盘上。 - 退出Vim:
:q
- 关闭当前文件,如果没有修改则直接退出。 - 强制退出Vim:
:q!
- 关闭当前文件并放弃对文件的任何修改,强制退出。 - 保存并退出Vim:
:wq
或:x
- 保存当前文件并退出。 - 在文本中移动: 使用方向键或
h
,j
,k
,l
分别表示左、下、上、右移动。 - 删除字符:
x
- 删除光标所在位置的字符。 - 复制/粘贴:
yy
- 复制一行;p
- 粘贴已复制的内容。 - 撤销:
u
- 撤销上一步操作。 - 重做:
Ctrl-r
- 重做上一步撤销的操作。 - 跳转到行首/行尾:
0
- 跳转到行首;$
- 跳转到行尾。 - 搜索:
/pattern
- 在文本中搜索pattern
,按n
找到下一个匹配项。 - 替换:
:%s/pattern/replacement/g
- 将所有匹配pattern
的内容替换为replacement
。 - 设置行号:
:set number
- 在左侧显示行号。 - 保存并退出Vim:
ZZ
- 保存当前文件并退出。
进阶
基本命令
:help
:打开 Vim 帮助文档:q
:退出 Vim 编辑器:q!
:强制退出 Vim 编辑器,丢弃所有修改:w
:保存文件:wq
:保存文件并退出 Vim 编辑器:x
或ZZ
:如果文件已修改,则保存并退出;否则只退出:e <file>
:打开指定文件进行编辑
光标移动
h
:向左移动一个字符j
:向下移动一行k
:向上移动一行l
:向右移动一个字符0
:将光标移动到当前行的行首$
:将光标移动到当前行的行尾gg
:将光标移动到文件的第一行开头G
:将光标移动到文件的最后一行开头<line number>G
:将光标移动到指定行(例如,12G
将光标移动到第 12 行)
插入和编辑
i
:在当前光标位置之前插入文本a
:在当前光标位置之后插入文本o
:在当前行之下插入一个新行,并进入插入模式O
:在当前行之上插入一个新行,并进入插入模式x
:删除光标处的字符dd
:删除当前行yy
或Y
:复制当前行p
:粘贴已复制或删除的内容u
:撤销上一次操作<Ctrl-r>
:重做上一次被撤销的操作
搜索和替换
/<pattern>
:向下搜索匹配<pattern>
的文本?/<pattern>
:向上搜索匹配<pattern>
的文本n
:跳到下一个匹配项N
:跳到上一个匹配项:%s/old/new/g
:在整个文件中替换所有出现的 "old" 为 "new":s/old/new/g
:在当前行替换所有出现的 "old" 为 "new"
窗口和分屏
:split
:水平拆分当前窗口,打开一个新窗口:vsplit
:垂直拆分当前窗口,打开一个新窗口<Ctrl-w> <arrow key>
:在不同窗口间切换焦点<Ctrl-w> +
:增加窗口的高度<Ctrl-w> -
:减小窗口的高度<Ctrl-w> >
:增加窗口的宽度<Ctrl-w> <
:减小窗口的宽度
其他常用命令
:set number
:显示行号:set nonumber
:隐藏行号:set syntax=<filetype>
:将当前文件语法设置为<filetype>
,以便语法高亮显示:set tabstop=<num>
:设置 Tab 键的宽度为<num>
:set expandtab
:将 Tab 键转换为空格:set noexpandtab
:禁止将 Tab 键转换为空格