Skill of vim


技术分享


用vim也有一段时间了,谨以此记下一些有意思的技巧。


  1. 跳转
    • hjkl,左下右上。
    • b/e跳转到上/下一个单词
    • ^/$跳转到行头/尾
    • 从{,[,(,对应的},],)相互跳转,可以用%
    • 跳转到局部变量的定义gd,跳转到全局变量的定义gD
    • 跳转到上一个修改过的地方 g; 注意是g+分号
    • 跳转到下一个修改过的地方 g, 注意是g+逗号
    • :N ,跳转到N行
  2. 匹配的符号(‘‘, "", (), {}, [], <>)操作
    • ci?,di?,yi?,?为上述的匹配符号,则可以修改,剪切,复制。其中的内容,不包括?
    • ca?,da?,ya?,?为上述的匹配符号,则可以修改,剪切,复制。其中的内容,包括?
    • 举个例子,删除()的内容不包含括号,只需要di?
    • 复制一个字符串"abcde",只需要光标移到其中,ya"
  3. 缩进代码
    • 自动缩进 =,如果从头到尾缩进就是gg=G
    • 指定区域缩进 >,< ,可以配合可视模式,C-v进入批量操作缩进。
  4. 折叠函数
    • 移动到{,zf%。
    • 折叠还可以zfN,这样就可以折叠N行
    • 打开折叠,zo
  5. 有用的替换
    • 最基础的替换 :A,Bs/X/Y/g ,从A行到B行,将X替换成Y,没有g只替换每行的第一个。
    • 全局替换: %s/X/Y/g
    • 删除只有另个以上空格的空行 :g/^\s*$/d
    • 删除行尾的空格 :%s= *$==
  6. 批量注释
    • Ctrl-v 进入可视模式,之后I(shift I),插入注释符,再按Esc(基本功)
    • 从A到B行最左边加入注释 :A,Bs/^/#/ (python,php,shell等等),但是,注释都插在最左边
    • 从A到B行第一非空字符前插入注释 :
      • %s/([^ ]+)/#\1/
      • :%s/[[:graph:]]\@=/#
  7. 搜索
    • 自光标向前搜索 /pattern
    • 自光标向下搜索 ?pattern
    • 仅搜索行首,/^pattern,或者行尾/pattern$
    • 自光标向前搜索光标所在单词 #
    • 自光标向后索索光标所在单词 *
    • 另外,搜索的,跳转到前一个N,下一个n。
    • 关闭高亮是 :noh
  8. 好用的多标签
    • 开启多标签 tabe 文件名字
    • 移动到下一个tab,gt或者:tabn
    • 移动到上一个tab,gT或者:tabp
    • 移动到第n个标签, n gt ,注意n gt间要由空格
    • 关闭标签 tabc,用退出也可以
    • 另外多窗也是很好用的在启动时候 vim -O2 file1 file2 ,注意是字母O,不是数字
  9. 有趣的计算器
    • 在插入模式时候,按Ctrl r =,输入表达式,就会在光标上出现了。
  10. 推荐一些有趣的网站

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。