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