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

标签: linux

添加新评论