学 vim 的过程中走了很多弯路, 分享一下对自己帮助最大的三个教程:
最好的入门教程: 直接命令行输入vimtutor.
(要是早点知道就好了...)
 
涵盖了大部分的常用技巧, 而且每个 tip 都有实际的栗子.
(网上有盗版 PDF, 但 JD 上好像也有卖实体书.)
 
感觉挺不错的, 对各种概念原理解释的很全面, 关键是每章有课后题, 自己动手才能真正理解.
很渣渣可惜只看了三分之一, 终于能看懂了 vimrc 了.
剩下如果坚持看完的话应该就可以自己编写插件了.
链接: http://learnvimscriptthehardway.stevelosh.com/
中文版: http://learnvimscriptthehardway.onefloweroneworld.com/
p.s. 一开始尝试使用 vim 也是挺痛苦的, 毕竟鼠标真的很方便, 但禁用了方向键, 强迫自己用 vim 开发了三天后(Pycharm+ideavim), 慢慢就会发现用 vim 写代码真的是一种享受.
我的学习笔记: 链接
|  |      1boywhp      2018-02-25 19:40:18 +08:00 反正我是必须用鼠标的, 盲打至今都没学会, 真是醉了,不过我发现用 VIM 看 C 代码确实舒服,写代码还是 IDE 吧。 | 
|  |      2Immortal      2018-02-25 20:05:40 +08:00  3 我也一直都用 idea 系列的编辑器+vim 插件   在试过 sublime vscode 这些编辑器后 发现还是 ideavim 的插件更贴近原生 以前有点热衷于用纯 vim,折腾各种插件,后来慢慢觉得 idea+vim 插件才是最完美的选择,有了 vim 的脸滚键盘和 idea 的强大功能,perfect ! 顺便一说,如果楼主也喜欢 vim,chrome 浏览器下也有一个很不错的 vim 插件,[cvim]( https://chrome.google.com/webstore/detail/ihlenndgcmojhcghmfjfneahoeklbjjh) 需要 fq | 
|  |      3ZZZZone      2018-02-25 20:10:20 +08:00 via Android 我大一刚踏进校门的时候, 学长就教我们用 vim, 慢慢摸索, 没有去刻意学习。 后来习惯性的不用鼠标和方向键。 现在干什么都离不开 vim 了, 写代码用 vim, 写博客用带 vim 模式的 markdown 软件, 浏览器也用的楼上说的插件😁。 | 
|      4changrui0608      2018-02-25 20:30:07 +08:00  2 我还记得新换的 mac,打开 vimtutorial 发现是中文,当时就惊了 | 
|  |      6qonco      2018-02-25 20:35:35 +08:00 via Android 一个月了到啥程度啦? | 
|      7AEANWspPmj3FUhDc      2018-02-25 20:46:16 +08:00 | 
|  |      8OpenJerry      2018-02-25 20:46:17 +08:00 mark | 
|  |      9shalk      2018-02-25 20:48:58 +08:00 via iPhone | 
|  |      10ChrisTsai      2018-02-25 20:53:02 +08:00 @ivlioioilvi vscode 的 markdown 插件配合 vim 插件,我是这么用的 | 
|      11AEANWspPmj3FUhDc      2018-02-25 21:00:27 +08:00 @ChrisTsai  以前用 windows,也用的 vscode 写 markdown,体验还不错。 但是现在用 linux,已经把 CapsLock 键映射为 Esc 键,但在 vscode 中却不能识别。 | 
|  |      12ech0x      2018-02-25 21:50:02 +08:00  4 map <Left> <Nop> map <Right> <Nop> map <Up> <Nop> map <Down> <Nop> imap <Left> <Nop> imap <Right> <Nop> imap <Up> <Nop> imap <Down> <Nop> imap <BS> <Nop> imap <Del> <Nop> 这个绝对可以让人快速熟悉 vim | 
|      14shinytea2017      2018-02-25 22:38:31 +08:00 via Android  1 @ivlioioilvi, Vnote, 不算 markdown editor, 而应算 markdown 笔记应用吧. | 
|  |      15everettjf      2018-02-25 22:39:44 +08:00 vimtutor 入门,Learn Vimscript the Hard Way 进阶。我是看的这两个,同样推荐。 | 
|  |      16Antidictator      2018-02-25 22:42:25 +08:00  3 和 VIM 相爱的故事要从我的笔记本上下键坏了开始..哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 | 
|      17hilow      2018-02-25 22:49:25 +08:00 via Android 大家能详细描述 vim 有那些不可替代的优点吗? 我还是觉得 sublime 这样的 ide 更方便。 鼠标加快捷键还是更方便些吧? 而且 ide 能随意拖拽文件夹,查看多个不同项目。 | 
|      18AEANWspPmj3FUhDc      2018-02-25 22:59:16 +08:00 @ivlioioilvi  回复一下自己。 对于在 linux 上 ,将 capslock 映射为 esc 后不能识别的问题,可以参考这个 issues。 https://github.com/Microsoft/vscode/issues/23991 | 
|  |      19LeungJZ      2018-02-25 23:07:20 +08:00 弱弱的问一句,到底 vim 有哪些不可取代的功能?还是有哪些异于其他编辑器的地方? | 
|  |      22ZJsnowman      2018-02-25 23:51:14 +08:00 via Android @changrui0608 中文,怎么弄出来呢? | 
|      24danielzhang0212      2018-02-26 05:14:35 +08:00 @ech0x 这招够狠,哈哈 | 
|  |      26ZZZZone      2018-02-26 08:29:50 +08:00 via Android @ivlioioilvi   我用的 cmd  markdown  我是 mac+win 都有使用, 跨平台同步挺方便的。 还有蚂蚁笔记和 csdn 博客, 都用过。 linux 还没折腾, 试过 vim 的 markdown preview 插件。 | 
|  |      27boywhp      2018-02-26 08:41:58 +08:00 @vansarw 我最开始也是用 source insight 的看 C 代码的, 后来我用了 VIM 后, source insight 就再也没用过了 不过我不用 VIM 写 C 代码, 我用渣一样的 code blocks | 
|  |      28bintianbaihua      2018-02-26 09:11:44 +08:00 coolshell 的博客也不错的 | 
|      29ironx      2018-02-26 09:14:43 +08:00 via Android 不要在上面浪费时间了 | 
|      30changrui0608      2018-02-26 09:37:02 +08:00 @ZJsnowman mac 的话直接在终端里 vimtutor 就是中文了,其他 linux 发行版没玩过。。 | 
|  |      31zhuangzhuang1988      2018-02-26 09:43:35 +08:00 中二的时候学过,工作后用 vs 发现原来这么舒服 | 
|  |      32YzSama      2018-02-26 09:50:14 +08:00 mark Vim 一直处于会用几个指令。。 | 
|  |      33babywhisper OP @qonco 在 Pycharm 里用的 ideavim, 效率终于和原来差不多了, 但写代码会"舒服"很多. 就像书里说的:    > 写程序就像画画, 艺术家大部分的时间其实都是在构图, 思考, 真正用画笔接触画布的时间其实占比很小. 这就像 VIM, 大部分停留在 Normal Mode. --- 但是 Pycharm 不支持 vim 插件(只有 surround), 还是让我有点绝望. 而且偶尔会有一些小 bug. (但是 pycharm 的 navigation 实在是太好用了) 可能未来会尝试 vscode+vim 或者一些配好的 vim. 有个痛点就是移动到当前屏幕上某个位置(有个 AceJump 插件, 但是体验不是特别好). 还没想好怎么解决. 但用 vim 的好处就是可以一直折腾吧.. 可以玩一年? | 
|      34maokabc      2018-02-26 10:07:40 +08:00 via Android 当年直接在里程碑 2 这类全键盘安卓机上学会的 vim,加上 make、javac 等工具在上面写了个 app,一套下来什么都熟悉了 | 
|  |      35babywhisper OP @Immortal 哈哈, 我原来也有用这个, 但是后来发现一个加强版的: Surfingkeys( https://github.com/brookhong/Surfingkeys/blob/master/README_CN.md)   多了很多功能, 比如用 vim 编辑当前页面的文本框什么的, 虽然很少用到.. 哈哈. | 
|  |      36tamlok      2018-02-26 10:14:18 +08:00 @ivlioioilvi 试试[VNote]( https://tamlok.github.io/vnote),支持 Linux | 
|  |      37babywhisper OP  1 | 
|  |      38LeungJZ      2018-02-26 10:25:38 +08:00  1 | 
|  |      39January      2018-02-26 10:26:26 +08:00 Practical Vim | 
|  |      40freezhan      2018-02-26 10:28:55 +08:00 @changrui0608 #4 我打开是繁体中文🙈 | 
|  |      41riggzh      2018-02-26 10:31:27 +08:00 vim 我只会 i :wq :q | 
|  |      42pan020037      2018-02-26 10:39:29 +08:00 @changrui0608 #4 刚尝试了下 mac 下果真是中文 get 到了 | 
|      43DevNet      2018-02-26 10:46:12 +08:00 mac 上中文教程真 6 | 
|      44clearc      2018-02-26 10:53:05 +08:00 | 
|      45DevNet      2018-02-26 10:56:07 +08:00 @clearc #44 MacOS10.13.3  $ vim --version VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jul 26 2017 19:10:24) Included patches: 1-503, 505-642 Compiled by [email protected] Normal version without GUI. | 
|      46changrui0608      2018-02-26 11:10:08 +08:00 @clearc 系统自带的和 brew 安装的都是中文,看看是不是 macOS 太老(我是 2016 rmbp,再以前的系统不了解),或者系统语言不是中文 | 
|      47dychenyi      2018-02-26 11:28:39 +08:00 我用 vim 好多年了,个人觉得会一些基本的就够用了。 ctrl +f/b , gg, gG, i,I, a,A, dd, d$, de, u, ctrl +r, shift v 模式 ctrl v 模式 , table edit(map 成,te)然后 gt,gT 切换。 搜索 /,:%s###g 匹配替换,Y 复制,p 粘贴, 再绑定一些注释快捷键。基本这些我觉得够用了。 熟悉之后水到渠成,信手捏来。。 | 
|  |      49WinMain      2018-02-26 12:11:00 +08:00 | 
|  |      50wzw      2018-02-26 12:23:56 +08:00 @WinMain #49 IDEA+VIM 是不是不需要鼠标了, 我现在也准备强迫自己用放弃鼠标, 所以记了很多 idea 的快捷键. | 
|  |      51caixiexin      2018-02-26 12:28:20 +08:00 via Android @ChrisTsai vscode 的 vim 插件现在都没解决退出输入模式,中文输入法自动切换的问题吧?原生 vim 这个已经有了 | 
|      53clearc      2018-02-26 13:44:43 +08:00 | 
|      54jhdxr      2018-02-26 13:48:58 +08:00 快捷键用的足够熟练也不需要用鼠标。。。只是看你习惯哪个了。 | 
|      55BeForever      2018-02-26 13:52:25 +08:00 mark | 
|      56symons      2018-02-26 13:52:42 +08:00 3. Learn Vimscript the Hard Way | 
|      57symons      2018-02-26 13:53:00 +08:00 3. Learn Vimscript the Hard Way 这个我也看过,可惜没深入下去 | 
|  |      58haha33223f      2018-02-26 14:20:51 +08:00 放弃鼠标? 那我才买的 500 块钱鼠标没用啦? | 
|  |      59xiaogu0322      2018-02-26 14:30:58 +08:00 Mark | 
|  |      60bcys      2018-02-26 14:37:24 +08:00 mark | 
|      61Paddington      2018-02-26 14:44:33 +08:00 用了两年 VIM,最近还是放弃了。 发现看代码还是 JB 系方便( C/Golang/Python ) VIM 虽然本地我配了一堆插件很爽,但是尼玛经常要上服务操作啊,这时候就悲剧了,很多方便的操作都不能搞。 | 
|      62satanandroid      2018-02-26 14:58:37 +08:00 看了你们说的,在 windows 的 git bash 输了 vimtutor  果然是中文版 | 
|  |      63Immortal      2018-02-26 16:11:30 +08:00 @Paddington 上面说的就是 jb+jb 的 vim 插件 ideavim 两者综合使用 | 
|  |      65theohateonion      2018-02-26 17:14:35 +08:00 有了 vim 基本上换编辑器无压力呀. 我觉得 vim 的正确使用方法是把 vim 当成一种编辑模式而不是一个编辑器. 毕竟 Jetbrain 爸爸好(逃) BTW 我是 spacemacs 党 | 
|  |      68inflationaaron      2018-02-27 03:08:40 +08:00 via iPhone Spacemacs 欢迎你 | 
|      69wlwood      2018-02-27 07:55:51 +08:00 via Android @Paddington 哈哈,为啥那几个叫 jb 系? | 
|      70wlwood      2018-02-27 08:02:15 +08:00 via Android @Paddington 哦哦,看明白了😂😂😂 | 
|  |      71skywind3000      2018-03-01 12:10:20 +08:00 我是推荐想用鼠标就用鼠标的,降低点门槛。 | 
|  |      72skywind3000      2018-03-01 12:10:32 +08:00 想用光标键就用光标键。 | 
|      73wwb721      2018-03-02 14:04:35 +08:00  1 https://devhints.io/vim 这个 cheatsheet 总结得很好。 | 
|  |      74chemzqm      2018-03-08 19:23:59 +08:00  1 Learn Vimscript the Hard Way  除非你要写 vimscript,一般用户没必要看太深入 个人比较推荐 https://github.com/mhinz/vim-galore | 
|  |      75rudyyuan      2019-09-18 23:23:27 +08:00 via Android 推荐下俺的博客  https://vimjc.com | 
|      76bnpysse      2020-06-26 21:23:16 +08:00 还是觉得在实践中学习和应用 VIM,上手最快,如果手里没代码来写的话,可能入门就会慢一些。 不过,一旦掌握了这个利器,真得就不想再换其它的编辑器,尤其是改代码的过程中,绝对是享受,大家也知道,改代码的时间会远远大于写代码的时间的。。。。 | 
|      77c1462066778      2023-08-02 18:48:41 +08:00 |