Vim 基本功(Learn Vim)
<img alt="20190917_193517_45" src="image/20190917_193517_45.png" />
本仓库内容
Vim基本功学习笔记
Something I hope you know before go into the coding~
First, please watch or star this repo, I'll be more happy if you follow me.
Bug report, questions and discussion are welcome, you can post an issue or pull a request.
目录
推荐 vim 配置方案
参考教程
图解Vim
<img alt="20190917_192906_38" src="image/20190917_192906_38.png" />
* http://www.nathael.org/Data/vi-vim-cheat-sheet.svg
<img alt="20190917_192921_43" src="image/20190917_192921_43.png" />
* http://people.csail.mit.edu/vgod/vim/vim-cheat-sheet-en.png
<img alt="20190917_192946_14" src="image/20190917_192946_14.png" />
* https://cdn.shopify.com/s/files/1/0165/4168/files/preview.png
<img alt="20190917_193008_29" src="image/20190917_193008_29.png" />
* http://michael.peopleofhonoronly.com/vim/vim_cheat_sheet_for_programmers_screen.png
小结
永远不要用 CTRL-C 代替 <ESC> 完全不同的含义,容易错误中断运行的后台脚本
很多人使用 CTRL-[ 代替 <ESC>,左手小指 CTRL,右手小指 [ 熟练后很方便
某些终端中使用 Vim 8 内嵌终端如看到奇怪字符,使用 :set t_RS= t_SH= 解决
某些终端中使用 NeoVim 如看到奇怪字符,使用 :set guicursor= 解决
多使用 ciw, ci[, ci", ci( 以及 diw, di[, di", di( 命令来快速改写/删除文本
在行内左右移动光标时,多使用w b e或W B E,而不是h l或方向键,这样会快很多
SHIFT 相当于移动加速键, w b e 移动光标很慢,但是 W B E 走的很快
自己要善于总结新技巧,比如移动到行首非空字符时用 0w 命令比 ^ 命令更容易输入
在空白行使用 dip 命令可以删除所有临近的空白行,viw 可以选择连续空白
缩进时使用 >8j >} <ap >ap =i} == 会方便很多
插入模式下,当你发现一个单词写错了,应该多用 CTRL-W 这比 <BackSpace> 快
y d c 命令可以很好结合 f t 和 /X 比如 dt) 和 y/end<cr>
c d x 命令会自动填充寄存器 "1 到 "9 , y 命令会自动填充 "0 寄存器
用 v 命令选择文本时,可以用 o 掉头选择,有时很有用
写文章时,可以写一段代码块,然后选中后执行 :!python 代码块就会被替换成结果
搜索后经常使用 :nohl 来消除高亮,使用很频繁,可以 map 到 <BackSpace> 上
搜索时可以用 CTRL-R CTRL-W 插入光标下的单词,命令模式也能这么用
映射按键时,应该默认使用 noremap ,只有特别需要的时候使用 map
当你觉得做某事很低效时,你应该停下来,u u u u 然后思考正确的高效方式来完成
用 y复制文本后,命令模式中 CTRL-R 然后按双引号 0 可以插入之前复制内容
Windows 下的 GVim 可以设置 set rop=type:directx,renmode:5 增强显示