模式 (Modes)
Vim 最核心的概念就是“模式”。它不像其他编辑器那样,你直接输入字符就会出现在屏幕上。Vim 有多种模式,每种模式都有不同的功能:
- 普通模式 (Normal Mode):这是 Vim 的默认模式。在这个模式下,你不能直接输入文本,而是可以使用各种命令来导航、复制、粘贴、删除、查找等。大部分 Vim 的强大功能都体现在普通模式下。
- 插入模式 (Insert Mode):在这个模式下,你可以像普通文本编辑器一样输入和编辑文本。
- 可视模式 (Visual Mode):用于选择文本块。你可以选择字符、行或矩形块,然后对选中的内容执行操作(如复制、删除)。
- 命令行模式 (Command-line Mode / Ex Mode):用于执行更复杂的命令,例如保存文件、退出 Vim、查找替换、执行外部命令等。通常以
:
开头。
模式切换:
- 从普通模式进入插入模式:
i
:在当前光标位置前插入a
:在当前光标位置后插入o
:在当前行下方插入新行I
:在当前行首插入A
:在当前行尾插入O
:在当前行上方插入新行
- 从插入模式、可视模式或命令行模式返回普通模式:
Esc
(或Ctrl-[
)
普通模式
导航:
h
:左移一个字符j
:下移一行k
:上移一行l
:右移一个字符w
:跳到下一个单词的开头b
:跳到上一个单词的开头e
:跳到当前单词的结尾0
:跳到行首$
:跳到行尾gg
:跳到文件开头G
:跳到文件结尾Ctrl-f
:向下翻页Ctrl-b
:向上翻页
编辑/删除:
x
:删除当前光标下的字符dw
:删除一个单词dd
:删除当前行d$
:删除从光标到行尾的内容d0
:删除从行首到光标的内容yy
:复制当前行yw
:复制一个单词p
:在光标后粘贴P
:在光标前粘贴u
:撤销上一个操作Ctrl-r
:重做上一个撤销的操作r
:替换当前光标下的字符(进入替换模式,输入新字符后自动返回普通模式)R
:进入替换模式(连续替换,直到按 Esc)~
:切换大小写
命令行模式
在普通模式下按 :
进入命令行模式。
:w
:保存文件:q
:退出 Vim:wq
或:x
:保存并退出:q!
:强制退出(不保存修改):e <文件名>
:打开新文件:sp <文件名>
:水平分割窗口并打开文件:vsp <文件名>
:垂直分割窗口并打开文件:set nu
:显示行号:set nonu
:隐藏行号:%s/旧文本/新文本/g
:全局查找并替换所有“旧文本”为“新文本”:/搜索内容
:向下搜索?搜索内容
:向上搜索n
:重复上次搜索(向下)N
:重复上次搜索(向上)