模式 (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:重复上次搜索(向上)