记录一些VIM命令

Copy(y)    Y(=yy) , 10Y,  yG ; // one line, ten line,  to the end of file

:/     forward模式查询

:/?   backword模式查询

n  下一个匹配

:g/ pattern1/s//patttern2/g    用pattern2替换pattern1

:s/str1/str2   str2替换str1, 当前行首次出现

:s/str1/str2/g   行中所有str1替换成str2

:s/tr1/str2/gc   需要确认每一次替换

,$s/str1/str2/g  当前行到文件结尾

%s/str1/str2/g  %表示所有文本

v 选中

:set list  显示特殊字符

:set nolist

:%!xxd   十六进制模式

:%!xxd -r    文本模式

200G   jump to line 200

dG     删除到文件尾

CTR-v, 不可见字符    编辑不可见字符, 如 CTR-v, CTR-a

:set wrap    自动换行

:set nowrap

大小写转换  gu或gU

                      guW, gUw

                      gu0,  gU$, guG

:sp filename, vsp  filename     分割窗口

CTR_w , h, j, k, l  跳转窗口

CTR_w, -     减小当前窗口

CTR_w,+    增大当前窗口

CTR_]   跳转标签

CTR_T or CTR_O   跳回来

:set backup                   默认原文件名末尾添加~

:set backupext=.bak   原文件名末尾添加.bak

:saveas filename 另存为

:file filename newname  重命名?

:vimdiff fname1 fname2   比较文件

:only   关闭除当前窗口外的所有窗口

CTR_s 冻结vim

CTR_q   解冻vim

*   jump到下一个相同的单词

%    从代码块开头jump到代码块结尾 , 如#if -> #end  ( -> )

[{     跳到当前代码块的开始位置 {

gd   跳到一个变量的local声明

.     查找到下一个单词后, 重复上次变化

CTR_N/ CTR_P 自动关键字补全

q[letter]  开始记录命令, 相当于宏

[letter]  结束记录命令

@[letter]  运行记录的命令

:abbr  nm name  缩写

[I   显示在include文件中所有匹配的方法名

:grep  ...

相关推荐