(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
我的常用vi操作
1. 文件打开与保存
打开文件操作:vi xxx.h
查看文件,不修改,:view xxx.h
写入并保存::wq 或 :x
有修改强制退出,不保存::q!
无修改时退出::q
2. 编辑操作
添加插入内容:i
更新替换内容:r
取消上个操作/修改:u
删除字符:x
删除整行:dd
3. 状态调整操作
设置粘贴::set paste
(paste-mode时不会自动缩进处理)
显示行号/取消行号number::set nu / :set nonu
设置禁用tab转空格::set noet / :set noexpandtab
4. 跳转操作
切换到下一个页面:ctrl + f
切换到上一个页面:ctrl+ b
跳转到文件头:gg
跳转到文件末尾:Shift+g
切换到上一个括号行:[[
切换到下一个括号行:]]
跳转到指定行,例如100行::100
查找内容,例如查找label::/label
5. 附录:no前缀 与 !后缀
vi 支持状态设置时,使用no前缀,也支持使用!后缀,
例如::set nu, :set nonu, :set nu!,但三者是有差异的,作用各不相同
:set nu等效于:set number,显示行号;
:set nonu等效于:set nonumber,取消显示行号;
:set nu!等效于:set number!,对当前的状态取反,如果当前有行号则切换未不显示,如果当前无行号则切换为显示;
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)