模式切换
模式 | 说明 |
---|---|
普通模式 | 打开文件后默认模式,该模式下可进行光标移动、页面翻转等查看操作;任意模式下按ESC即可退回该模式 |
可视模式 | 高亮选中的文本时会进入该模式,常用于选中区域文本;最简单的按v然后移动光标即可选中多行文本 |
插入模式 | 即可通过键盘修改文本的模式,编写代码一般处于该模式中;一般按i进入编辑状态,输出文本 |
打开文件
vim外部
命令 | 说明 |
---|---|
vim filename | 打开或新建filename文件 |
vim内部
命令(普通模式下) | 说明 |
---|---|
:e new_filename | 再打开new_filename文件 |
:split new_filename | 水平分屏打开new_filename |
:vsplit new_filename | 垂直分屏打开new_filename |
分屏切换窗口
命令(普通模式下) | 说明 |
---|---|
ctl+w+j | 移动到下边窗口 |
ctl+w+k | 移动到上边窗口 |
ctl+w+h | 移动 到左边窗口 |
ctl+w+l | 移动到后边窗口 |
刷新文件内容
命令(普通模式下) | 说明 |
---|---|
:e | 强制刷新整个文件内容,跟磁盘保持一致 |
退出文件
命令(普通模式下) | 说明(如果强制执行,在后面加 '!' 符号即可) |
---|---|
:w | 保存文件的修改内容到文件 |
:q | 退出文件编辑 |
:wq | 保存文件并退出 |
移动光标
命令(普通模式下) | 说明(n表示数字) |
---|---|
j | 向下移动1行 |
k | 向上移动1行 |
h | 向左移动1个字符 |
l | 向右移动1个字符 |
nj | 向下移动n行 |
nk | 向上移动n行 |
nh | 向左移动n个字符 |
nl | 向右移动n个字符 |
w | 向右移动到下一个词首 |
b | 向左移动到上一个词首 |
e | 向右移动到下一个词尾 |
) | 移动到句尾 |
( | 移动到句首 |
} | 移动到段落尾 |
{ | 移动到段落首 |
gg | 移动到第一行 |
G | 移动到最后一行 |
nG | 移动到第n行 |
0 | 移动到当前行首 |
^ | 移动到当前行首第一个非空字符处 |
$ | 移动到当前行尾 |
文本插入
命令 | 说明 |
---|---|
i | 在光标位置开始编辑 |
I(大写i) | 在当前行首开始编辑 |
a | 在光标后开始编辑 |
A | 在当前行尾开始编辑 |
o | 当前行下面新建一行开始编辑 |
O | 当前行上面新建一行开始编辑 |
s | 删除当前光标字符,并开始编辑 |
S | 清除当前行内容,并在行首开始编辑 |
cc | 删除当前行,并开始编辑 |
r | 按下后,输入新的字符,替换当前光标所在字符 |
R | 按夏侯,输入新的字符串,替换当前光标后同长度的字符串,直到ESC退出 |
文本删除
命令 | 说明 |
---|---|
x | 删除当前光标所在字符 |
dw | 删除当前光标位置的词 |
dnw | 删除当前光标位置n个词 |
d0 | 删除当前光标到行首的所有字符 |
d$ | 删除当前光标到行尾的所有字符 |
dd | 删除当前行 |
ndd | 删除当前光标坐在行开始的n行字符 |
dnj | 删除当前行以及下面n行 |
dnk | 删除当前行以及上面n行 |
文本复制粘贴
命令 | 说明 |
---|---|
p | 粘贴文本到当前光标位置 |
yy | 复制一行 |
命令回退
命令 | 说明 |
---|---|
u | 回退前一次操作 |
查找和替换
命令 | 说明 |
---|---|
/pattern + enter | 向下查找pattern匹配的字符,并高亮显示 |
?pattern + enter | 向上查找pattern匹配的字符,并高亮显示 |
n | 光标定位到下一个匹配的字符位置,并高亮显示 |
N | 光标定位到上一个匹配的字符位置,并高亮显示 |
cw newword | 光标所在词替换为newword |
. | 光标所在词替换为上一次替换的词 |
:%s/old_p/new_p/g | 将当前文本所有old_p替换为new_p |
:%s/p//gn | 统计当前文件命令p的字符的个数 |
代码跳转
命令 | 说明 |
---|---|
ctl+] | 转到符号定义 |
:tag 函数名 | 转到函数 |
ctl + o | 回到上一个位置 |
ctl+ i | 回到下一个位置 |
[{ | 跳到函数头 |
]} | 跳到函数尾 |
gd | 跳转到函数定义,或者当前同名变量高亮 |
网友评论