作者:韦易笑
链接:https://www.zhihu.com/question/27249253/answer/339373732
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 永远不要用 CTRL-C 代替 完全不同的含义,容易错误中断当前脚本
- 很多人使用 CTRL-[ 代替 ,左手小指 CTRL,右手小指 [ 熟练后很方便
- SecureCRT 中使用 Vim 8 内嵌终端如看到奇怪字符,使用 :set t_RS= t_SH= 解决
- SecureCRT 中使用 NeoVim 如看到奇怪字符,使用 :set guicursor= 解决
-
- 多使用 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 ^@ 分别代表什么意思么?