vim基本操作
vim编辑器的使用
一般模式快捷键
命令 | 效果 |
---|---|
i | 在当前字符左边进入输入模式 |
I | 在当前行首进入输入模式 |
a | 在当前字符右边进入输入模式 |
A | 在当前行尾进入输入模式 |
o | 在当前行下插入一个新行进入输入模式 |
O | 在当前行上插入一个新行进入输入模式 |
s | 删除当前字符进入输入模式 |
S | 删除当前行进入输入模式 |
dd | 删除(剪切)一行 |
dw | 删除(剪切)一个单词 |
yy | 拷贝 |
p | 粘贴 |
u | 恢复所做的修改 |
Ctrl+r | 重新执行回退的操作 |
G | 到行尾 |
num + G | 到指定行 |
w | 以单词为单位向右移动 |
x | 删除当前位置的字符 |
X | 删除当前位置之前的字符 |
^(shift+6) | 当前行首 |
$(shift+4) | 当前行尾 |
[ * 2 | 文件行首 |
] * 2 | 文件行尾 |
{(shift+[) | 文件最开始 |
(shift+]) | 文件最后 |
" + (a|b|c|d) + (yy|dd) | 把要操作的内容(复制|剪切)到指定的剪贴板 |
" + (a|b|c|d) + p | 粘贴指定的剪贴板的内容 |
num + r | 替换当前位置开始的n个字符 |
v | 开始快操作 |
/ | 查找 |
Ctrl+W l | 把光标移到右边的屏。 |
Ctrl+W h | 把光标移到左边的屏中。 |
Ctrl+W k | 把光标移到上边的屏中。 |
Ctrl+W j | 把光标移到下边的屏中。 |
Ctrl+W w | 把光标移到下一个的屏中。 |
命令行模式快捷键
命令 | 效果 |
---|---|
/str | 查找str |
:set nu | 添加行号 |
set nonu | 取消行号 |
num | 跳转到num行 |
r /test | 读取/test 文件的内容到光标位置 |
r !command | 执行commad命令,并把返回内容添加光标位置,例::r !ls |
:w | 保存文件内容 |
:q | 退出 |
:q! | 强制退出,舍弃修改 |
:x | 保存文件内容并退出 |
:w a.txt | 另存为当前文件为a.txt |
:1,5 w >> a.txt | 把1,5行内容追加到a.txt |
:e a.txt | 打开a.txt文件 |
:e! a.txt | 放弃当前文件的任何修改,并打开a.txt文件 |
:e! | 回到文件最初的内容 |
:!command | 执行command命令 |
:sh | 开启一个bash子线程 |
1,$ s/aaa/bbb/g | 把从第一行开始到最后一行中的aaa替换成bbb,不要询问 |
%s/aaa/bbb/g | 把全文中的aaa替换成bbb,不要询问 |
1,5 s/aaa/bbb/c | 把从第一行到第五行的aaa替换成bbb,每次替换时询问 |
:split shadow | 新加一个窗口,横向打开shadown文件 |
:vsplit shadow | 新加一个窗口,纵打开shadown文件 |
:bn | 移动到下一个文件 |
:bp | 移动到后一个文件 |
打开时的选项
有的快捷键不同,因为我用的mac终端
命令 | 效果 |
---|---|
-o | 纵向打开文件 |
-O | 横向打开文件 |
-p | 标签页形式打开文件,ctrl + PageUp,PageDown 切换标签页无效,使用:tabnext, tabprev |