vim使用技巧、快捷方式汇总

1、查找、替换

替换命令:[addr]s/源字符串/目的字符串/[option]

[addr] 表示检索范围,省略时表示当前行。
如:

“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
[option] : 表示操作类型


如:g 表示全局替换; 
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义

下面是一些例子:
#将That or this 换成 This or that :%s/\(That\) or \(this\)/\u\2 or \l\1/ —-  #将句尾的child换成children :%s/child\([ ,.;!:?]\)/children\1/g

2、常用快捷键

F9    当前目录下生成tags
F12   当前目录下生成cscope数据库
F11   全屏切换
Shift+F11  鼠标模式切换(便于去掉行号,用鼠标复制内容到剪贴板)
 
Ctrl+]    跳到函数实现(鼠标双击也可以)
Ctrl+T   跳回上一次位置
:ta func   跳转到func函数
Ctrl+WW   在窗口间切换
:sp    filename    打开另外一个文件
F2    在左边打开类型、函数列表(ctags)
F3    在右边打开选择文件窗口(按F3退出)(NERD)
F4    在下方打开最近访问文件窗口(按q退出)(MRU)
F5    符号搜索(按两次F5退出)

,sc    跳转到当前函数被调用处(cscope)
,be    打开buffer浏览器,查看当前已打开的文件
,zz    当前窗口最大化
:!cmd   VI中执行shell命令

zo     展开折叠的行
zc     折叠行

:wq   保存退出
gg     到达文章开头
G      到达文件结尾
v        进入Visual模式字选择
V       进入Visual模式行选择
Ctrl+v  进入Visual模式块选择

y         复制
p         粘贴
dd       删除行(保存到寄存器)
2dd     删除2行
x         删除字符

r<c>    当前字符替换为<c>,“<c>”可以是任意单个字符
dw       删除单词
2dw     删除2个单词
Ctrl+Z   后台
fg           前台
jobs       查看后台任务
 

3、格式 (format)
dos/windows跟unix/linux对于文件的结束是不一样的。vim可以直接设定/更改格式
用纸令: set fileformats=unix,dos 可以改变文件的格式 (change format)

:set ff=unix -> 设定文件成unix格式 (set file in unix format)
:set ff=dos -> 设定文件成dos格式 (set file in dos format)
:set ff? -> 检查当前文件格式 (check the format of current file)
如果改变格式,直接:w存档就会存成新的格式了。

4、加密 (encryption)
vim可以给文件加密码
vim -x 文件名 (filename) -> 输入2次密码,保存后文件每次都会要密码才能进入 (encrypt the file with password)
vim 处理加密文件的时候,并不会作密码验证,也就是说,当你打开文件的时候,vim不管你输入的密码是否正确,直接用密码对本文进行解密。如果密码错误,你看 到的就会是乱码,而不会提醒你密码错误(这样增加了安全性,没有地方可以得知密码是否正确)当然了,如果用一个够快的机器作穷举破解,vim还是可以揭开 的

5、vim 语法显示 (syntax)
:syntax enable -> 打开语法的颜色显示 (turn on syntax color)
:syntax clear -> 关闭语法颜色 (remove syntax color)
:syntax off -> 完全关闭全部语法功能 (turn off syntax)
:syntax manual -> 手动设定语法 (set the syntax manual, when need syntax use :set syntax=ON)

5、输入特殊字符 (special character)
CTRL-v 编码就可以了
例如 CTRL-v 273 -> ÿ 得到 ÿ

6、二进 制文件 (binary file)
vim可以显示,编辑2进位文件

vim -b datafile 
:set display=uhex -> 这样会以uhex显示。用来显示一些无法显示的字符(控制字符之类)(display in uhex play non-display char)

:%!xxd -> 更改当前文件显示为2进位 (change display to binary)
:%!xxd -r -> 更改二进位为text格式 (convert back to text)

7、自动完成 (auto-completion)
vim本身有自动完成功能(这里不是说ctag,而是vim内建的)
CTRL-p -> 向后搜索自动完成 (search backward)
CTRL-n -> 向前搜索自动完成 (search forward)
CTRL-x+CTRL-o -> 代码自动补全 (code completion)

8、自动备份 (backup)
vim可以帮你自动备份文件(储存的时候,之前的文件备份出来)
:set backup -> 开启备份,内建设定备份文件的名字是 源文件名加一个 ‘~’ (enable backup default filename+~)
:set backupext=.bak -> 设定备份文件名为源文件名.bak (change backup as filename.bak)

自动备份有个问题就是,如果你多次储存一个文件,那么这个你的备份文件会被不断覆盖,你只能有最后一次存文件之前的那个备份。没关系,vim还提 供了patchmode,这个会把你第一次的原始文件备份下来,不会改动
:set patchmode=.orig -> 保存原始文件为 文件名.orig (keep orignal file as filename.orig)

9、总结
vim的使用技巧,只有在实际使用中慢慢总结、熟悉,另外可以参考酷壳大叔的几篇vim的文章。另外,有时间还要总结一下linux下grep/awk/sed的使用技巧,在linux环境下处理文本,这几个工具放在一起,很方便而且效率很高。


你可能感兴趣的:(vim使用技巧、快捷方式汇总)