vi的常用键盘操作

来源:互联网 发布:淘宝售后服务的重要性 编辑:程序博客网 时间:2024/06/05 11:47
vi是一个很好用的工具,简单快捷,而且可以全键盘操作,vi还可以配合ctags和cscope,成为看代码的神器。如果想继续深入,推荐看<learning vi>
以下是本人常用的一些基本命令。

基本文件操作:
w : 保存
wa: 全部保存并退出
q : 退出
qa : 全部退出
q! : 不保存退出
e : 打开文件
tabe : 用标签打开文件

基本编辑:
i : 插入到后面
o : 在下面增加一行开始编辑
ESC : 退出编辑
u : 撤回操作
ctrl+r : 恢复撤回的操作
ctrl+v : 块操作

移动:
j : 往下一行
k : 往上一行
h : 往左一个字符
l : 往右一个字符
b : 往前一个单词
e : 往后一个单词
10+e : 往后移动10个单词(此处只是举例,前面的10可以替换为任何数字)
1+g : 到第一行
<n> + g: 到第<n>行
ctrl+a : 下翻一页
ctrl+b: 上翻一页
shift+g: 到最后一行
% : 找到配对的括号
$ : 到当前的行尾
^ : 到当前的行首
[[ : 跳到当前函数的函数名
][ : 跳到当前函数的最后一行
m+a : 记录当前行并把当前行放入a寄存器; ` + a : 跳转到a寄存器记录的行

查找:
* : 高亮当前的单词并查找下一个
# : 高亮当前的单词并查找上一个
n : 下一个
N : 上一个
/text: 搜索下一个"text"
/\.text : 搜索下一个".text"(.是通配符,需要加上\把通配符转为字符)
?text: 搜索上一个"text"
?\.text : 搜索上一个".text"(.是通配符,需要加上\把通配符转为字符)

替换:
:%s/text/change/ : 将每一行的第一个text替换为change
:%s/text/change/g : 将每一行的每一个text替换为change

记录一个动作并且重复,分为四个步骤执行:
1. q+0 : 将后面的动作记录到0寄存器中
2. 执行一些动作: 比如移动到行首,删除一个字符,再往下
3. q : 结束记录
4. ctrl+s+20+@+0: 执行20次0寄存器中的操作,即执行20次第2部中记录的操作


0 0