99网
您的当前位置:首页VIM 使用技巧 持续更新中

VIM 使用技巧 持续更新中

来源:99网

作者:韦易笑
链接:https://www.zhihu.com/question/27249253/answer/339373732
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 永远不要用 CTRL-C 代替 完全不同的含义,容易错误中断当前脚本
  • 很多人使用 CTRL-[ 代替 ,左手小指 CTRL,右手小指 [ 熟练后很方便
  • SecureCRT 中使用 Vim 8 内嵌终端如看到奇怪字符,使用 :set t_RS= t_SH= 解决
  • SecureCRT 中使用 NeoVim 如看到奇怪字符,使用 :set guicursor= 解决
    • 和 # (以及 g*/g#)是十分重要的查找命令
  • 多使用 ciw, ci[, ci", ci( 以及 diw, di[, di", di( 命令来快速改写/删除文本
  • 使用 @: 重复执行上一次 Ex 命令,比如 :nohl, @:, @:, @:
  • SHIFT 相当于移动加速键, w b e 移动光标很慢,但是 W B E 走的很快
  • 自己要善于总结新技巧,比如移动到行首非空字符时用 0w 命令比 ^ 命令更容易输入
  • 在空白行使用 dip 命令可以删除所有临近的空白行
  • 在空白区使用 viw 可以选择所有空白字符
  • 缩进时使用 >8j >} <ap =i} == 会方便很多
  • 越重复的工作,越需要努力的将其自动化
  • 编程时可以使用 [{ 和 ]} 快速在函数间移动
  • 插入模式下,当你发现一个单词写错了,应该多用 CTRL-W 这比 快
  • 插入模式下,CTRL-X CTRL-F 可以方便的补全当前目录的文件名
  • 插入模式下,可用 CTRL-V u 输入 unicode,如 u1234 输入16进制 unicoode
  • 插入模式下,CTRL-R = 可以用来简单计算,比如 =12*3.5/10 会插入 4.2
  • 如果在插入模式下移动光标,那么就不能使用 . 来重复之前的插入了
  • y d c 命令可以很好结合 f t 和 /X 比如 dt) 和 y/end
  • c d x 命令会自动填充寄存器 "1 到 "9 , y 命令会自动填充 "0 寄存器
  • 用 v 命令选择文本时,可以用 o 掉头选择,有时很有用
  • ca) 和 yi} 很容易记忆,但是他们等同于 cab yiB 后者很容易输入
  • 写文章时,可以写一段代码块,然后选中后执行 :!python 代码块就会被替换成结果
  • 搜索后经常使用 :nohl 来消除高亮,使用很频繁,可以 map 到 上
  • 搜索时可以用 CTRL-R CTRL-W 插入光标下的单词
  • Vim 有一千零一种移动光标的方法,有时候就连 H M L 也是很有用的
  • 不需要记忆上一次选择区域,’< 和 '> 可以跳到上次选择的开始和结束
  • 如需编辑同一个文件的不同地方,可以用 :vs 或者 :split 将文件分为两个窗口
  • 有六种方法来改变一个布尔设置: :set list nolist list! invlist list? list&
  • 映射按键时,应该默认使用 noremap ,只有特别需要的时候使用 map
  • 当你觉得做某事很低效时,你应该停下来,u u u u 然后思考正确的高效方式来完成
  • 用 y复制文本后,命令模式中 CTRL-R 然后按双引号 " 可以插入之前复制内容
  • 如果你想全屏阅读帮助的话,使用 :tab help 命令
  • 粘贴文本时应该思考下前后是否包含空格
  • :x 和 ZZ 命令和 :wq 类似,但是不会写入没有改变的文件,并且更快
  • 多阅读 :h index 学习新的快捷键,让你更加高效
  • Vim 帮助系统里有一个使用技巧集合,使用 :h tips 阅读
  • Windows 下的 GVim 可以用 CTRL-INSERT 和 SHIFT-INSERT 操作系统剪贴板
  • 思考题:知道下面控制代码 ^I ^M ^J ^[ ^H ^@ 分别代表什么意思么?

因篇幅问题不能全部显示,请点此查看更多更全内容