vi/vim
-
命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。按ESC键可随时退出底线命令模式。
q | 如果未修改缓冲区数据,退出 |
q! | 取消所有对缓冲区数据的修改并退出 |
w filename | 将文件保存到另一个文件中 |
wq | 将缓冲区数据保存到文件中并退出 |
set nu | 显示行号 |
输入 | i或Insert | 换到输入模式,以输入字符 |
a | 在当前光标后追加数据,在当前光标切换到输入模式 | |
A | 在当前光标所在行行尾追加数据 | |
删除 | x或DEL | 删除当前光标所在处的字符(nx: 删除光标后n个字符) |
dd | 删除当前光标所在行(ndd:删除从光标当前所在行开始的n行 ) | |
dw | 删除当前光标所在单词 | |
d$ | 删除当前光标所在位置至行尾的内容 | |
:m,nd | 删除m到n行内容 | |
J | 删除当前光标所在行行尾的换行符(拼接行) | |
替换 | r char | 用char替换当前光标所在位置的单个字符 |
R text | 用text覆盖当前光标所在位置的数据,直到按下ESC键 | |
移动 | G | 移到缓冲区的最后一行 |
num G | 移动到缓冲区中的第num 行 | |
gg | 移到缓冲区的第一行 | |
num <space> | 光标会向右移动 num 个字符 | |
num <Enter> | 光标向下移动 num 行
| |
粘贴 | p | vim在删除数据时,实际上会将数据保存在单独的一个寄存器中。可以用p命令取回数据。 |
复制 | y |
|
查找 | / word | 寻找一个名称为 word 的字符串 |
n | 查找的下一个 | |
替换 | :s/old/new/g | 替换一行中所有old。 |
:n,ms/old/new/g | 替换行号n和m之间所有old | |
:%s/old/new/g | 替换整个文件中的所有old | |
:%s/old/new/gc: | 替换整个文件中的所有old,但在每次出现时提示 |