记录一些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? ...