一、Vim 基本操作
1. 启动和退出 Vim
启动 Vim:
|
|
退出 Vim:
正常退出并保存::wq 或 ZZ
仅退出(不保存)::q
强制退出(不保存)::q!
仅保存文件::w
2. 模式切换
Vim 有多种模式,最常用的是以下几种:
正常模式(Normal Mode):Vim 启动时默认的模式,可以执行各种命令,如移动光标、删除文本等。按 Esc 键进入。
插入模式(Insert Mode):可以输入文本。按 i 进入,按 Esc 返回正常模式。
可视模式(Visual Mode):用于选中文本块。按 v 进入,可视模式下可使用方向键选择文本。
常用模式切换命令:
i:进入插入模式,在当前光标位置前插入。
a:进入插入模式,在当前光标位置后插入。
o:在当前行下方打开新行并进入插入模式。
v:进入可视模式。
V:进入可视行模式(选中整行)。
Ctrl + v:进入可视块模式(列选择)。
二、Vim 光标移动命令
1. 基本移动
h:向左移动一个字符。
l:向右移动一个字符。
j:向下移动一行。
k:向上移动一行。
2. 行内移动
0:移动到行首。
^:移动到本行第一个非空白字符。
$:移动到行尾。
3. 单词移动
w:移动到下一个单词的开头。
e:移动到当前或下一个单词的末尾。
b:移动到上一个单词的开头。
4. 页面移动
Ctrl + u:向上滚动半页。
Ctrl + d:向下滚动半页。
Ctrl + b:向上滚动一整页。
Ctrl + f:向下滚动一整页。
G:移动到文件末尾。
gg:移动到文件开头。
5. 行跳转
:n:跳转到第 n 行。
nG:跳转到第 n 行。
三、Vim 文本编辑命令
1. 插入和删除
i:进入插入模式。
a:在当前光标后插入文本。
o:在当前行下方新开一行并进入插入模式。
dd:删除当前行。
D:删除当前光标到行尾的所有内容。
x:删除当前光标所在的字符。
dw:删除当前光标到单词末尾的内容。
u:撤销上一步操作。
Ctrl + r:重做上一步撤销的操作。
2. 复制、剪切与粘贴
yy:复制当前行。
yw:复制一个单词。
p:粘贴到光标后。
P:粘贴到光标前。
dd:剪切当前行。
daw:剪切一个单词。
3. 替换与修改
r:替换当前字符。
R:进入替换模式,从光标开始的字符将被逐个替换,直到退出替换模式为止。
cw:修改当前单词(删除当前单词并进入插入模式)。
c$:修改从光标位置到行尾的内容。
四、Vim 查找与替换命令
1. 查找
/pattern:向下查找 pattern(正则表达式)。
?pattern:向上查找 pattern。
n:在查找模式下,查找下一个匹配项。
N:在查找模式下,查找上一个匹配项。
*:查找光标所在单词的下一个匹配项。
#:查找光标所在单词的上一个匹配项。
2. 替换
:s/old/new:替换当前行的第一个匹配的 old 为 new。
:s/old/new/g:替换当前行的所有 old 为 new。
:%s/old/new/g:替换整个文件中的所有 old 为 new。
:%s/old/new/gc:替换整个文件中的所有 old 为 new,每次替换前提示确认。
五、Vim 多窗口与多文件操作
1. 多窗口操作
:split 或 :sp:水平分割窗口。
:vsplit 或 :vsp:垂直分割窗口。
Ctrl + w, w:在分割窗口之间切换。
Ctrl + w, h/j/k/l:分别向左、下、上、右切换窗口。
:q:关闭当前窗口。
2. 多文件操作
:e filename:打开指定文件。
:bnext 或 :bn:切换到下一个缓冲区(文件)。
:bprev 或 :bp:切换到上一个缓冲区(文件)。
:ls:列出所有缓冲区(打开的文件)。
:bN:切换到缓冲区 N。