一、编辑
快捷键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
o | 在光标所在行的下插入新的一行。光标停在空行首,等待输入文本 |
O(大写) | 在光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入 |
A | 在光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令 |
esc键 | 退出编辑模式 |
快捷键 | 功能描述 |
---|---|
↑或ctr + p | 上一条命令 |
↓或ctr + n | 下一条命令 |
ctr + b | 移动到命令行开头 |
ctr + e | 移动到命令行结尾 |
ctr + ← | 向左一个单词 |
ctr + → | 向右一个单词 |
二、删除
字符的删除:
x:删除光标所在位置的字符。
X:删除光标前面的字符(相当于 Backspace 键)。
单词的删除:
dw:删除从光标所在位置到下一个单词开头的所有字符。
d$:删除从光标所在位置到行末的所有字符。
daw:删除包括光标所在的单词的所有字符(包括前后空格)。
diw:删除光标所在单词内的所有字符(不包括前后空格)。
d2w:删除当前单词和下一个单词。
d0:删除从行首到光标位置的所有字符。
d1:删除从行首到光标位置的第一个字符,等同于x。
dh:删除光标前一个字符,等同于X。
行的删除:
dd:删除当前行,并将其保存到寄存器中以备粘贴。
5dd:删除当前行及其下面的 4 行。
D:删除从光标位置到行末的所有字符。
:n1,n2d:删除从行号 n1 到 n2 的所有行。
dgg:删除从当前行到文件开头的所有行。
dG:删除从当前行到文件末尾的所有行。
行的合并:
J:将当前行和下一行合并为一行
三、查找
查找
/pattern:在 Vim 中,可以使用 / 后跟要查找的模式进行搜索。例如,输入 /keyword 可以在文本中查找关键字 "keyword"。
?pattern:与上述类似,不同之处在于在问号后查找模式,例如 ?keyword。
n:在查找模式下,按下 n 键可以跳转到下一个匹配项。
N:在查找模式下,按下大写的 N 键可以跳转到上一个匹配项。
替换
:s/pattern/replacement/:这是 Vim 中进行替换的基本格式。其中 pattern 是要查找的模式,replacement 是要替换成的内容。例如,:s/old/new/ 会将当前行中的第一个 "old" 替换为 "new"。
:s/pattern/replacement/g:在后面添加 g 标志,会替换所有匹配项,而不仅仅是每行的第一个匹配项。
:%s/pattern/replacement/g:在 % 前加上 : 号,可以对整个文档执行全局替换,而不只是当前行。
四、替换
cw:用于修改当前光标所在的单词。
cb:将光标移动到当前单词的开始处。
cc:用于删除整行并进入插入模式,可以输入替换的文本。
~:用于更改当前所在位置的字符的大小写(大写转小写、小写转大写)。
r:用于替换单个字符,将当前光标所在的字符替换为一个新的字符。
R:用于进入替换模式,将会替换光标后的的所有字符。
xp:用于交换当前光标所在位置的字符和其下一个字符的位置。
五、撤销修改、重做与保存
在文本编辑过程中,撤销修改和重做操作是非常重要的。此外,保存文本是确保你的更改被永久保存的一种方式。下面是一些常见的命令和操作:
撤销修改
u:按下 u 键可以撤销最近的修改。每按一次 u 键,就会撤销上一次的修改。
Ctrl + r:按下 Ctrl + r 键可以重做被撤销的修改。每按一次 Ctrl + r 键,就会重做上一次被撤销的修改。
保存文本
:w:这是 Vim 中保存文本的基本命令。在命令模式下,输入 :w 可以将当前文本保存到文件中。如果没有指定文件名,则会保存到原始文件中。
:w filename:如果你想将文件保存为特定的文件名,可以在 :w 命令后面加上文件名。例如,:w newfile.txt 将会将文件保存为名为 "newfile.txt" 的文件。
:saveas filename:这个命令会将当前文本保存到指定的文件名,类似于另存为。输入命令 :saveas newfile.txt 将会在当前目录下创建一个名为 "newfile.txt" 的副本,并将文本保存到该文件中。
U:按下大写的 U 键可以撤销对整行的所有修改,将行恢复到上一次保存时的状态。
q:在命令模式下,输入 q 可以退出 Vim。如果有未保存的修改,Vim 会发出警告并阻止退出。你可以按下 q! 来强制退出 Vim,丢弃未保存的修改。
wq:这是组合命令,可以将文本保存并退出 Vim。在命令模式下,输入 :wq 将会将文本保存到文件中,并退出 Vim 编辑器。
wq!:类似于上述的 wq 命令,但加上了 ! 表示强制保存。即使文件是只读模式或者没有写权限,也会强制保存并退出。
e!:该命令用于放弃当前的修改并重新加载文件。在命令模式下,输入 :e! 将会放弃所有未保存的修改,并重新加载原始文件。
六、行号
:set nu 普通模式下执行,同 :set number
取消行号 :set nonumber
七、其他
打开多个文件:
vim file1.txt file2.txt:在启动 Vim 时,可以通过在命令行上指定多个文件名来打开多个文件。例如,这个命令会同时将 "file1.txt" 和 "file2.txt" 文件加载到 Vim 中。
在已打开的文件之间切换:
:n:在普通模式下,输入 :n 可以跳到下一个打开的文件。
:N:在普通模式下,输入 :N 可以跳到上一个打开的文件。
在已打开的文件之间切换并保存:
:n 或者 :wn:在普通模式下,输入 :n 或者 :wn 可以切换到下一个文件并保存当前文件。
:N 或者 :wN:在普通模式下,输入 :N 或者 :wN 可以切换到上一个文件并保存当前文件。
查看已打开的文件列表:
:ls:在命令模式下,输入 :ls 可以列出当前已打开的文件列表。
在已打开的文件之间切换编辑区域:
Ctrl + ww:在正常模式下,按下 Ctrl + ww 可以在不同的分割窗口中切换编辑区域