vim 有什么记忆的口诀或者是方法么?那么多的操作你们是怎么记住的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1yndonn3u
V2EX    Vim

vim 有什么记忆的口诀或者是方法么?那么多的操作你们是怎么记住的?

  •  
  •   1yndonn3u 2015-12-13 21:11:42 +08:00 8748 次点击
    这是一个创建于 3602 天前的主题,其中的信息可能已经有所发展或是发生改变。

    vim 有什么记忆的口诀么?
    就类似于乘法口诀一样,或者每个操作都有相应的英文的那种。
    比如 f 是 find , d 是 delte 这种,但是 gg 为什么是首部, G 是尾部?

    你们都是怎么记住这么多操作的?

    享一下吧~谢谢啦!

    第 1 条附言    2015-12-13 23:09:55 +08:00

    目前使用了 vim 也就是断断续续的几个月吧,基本的操作什么的都没有问题,远远还没有 v2exer 的熟练程度,因为想要理解的学 vim ,所以有以上的疑问。
    比如 gg G / 替换 f dd D1G 之类的还都可以,打算深入学习下。
    现在开始看 vim 使用技巧这本书。
    其实每个键位的设置肯定还是会有一些道理的。
    我相信一定有朋友知道比较好的学习方法,等我研究明白了和大家分享分享~
    有想法的也和大家分享下啊~~~

    第 2 条附言    2015-12-14 09:51:20 +08:00

    我看明白了,大家的诀窍就是

    无它,唯手熟而

    其实我明白大家的意思,不是为了学 vim 而 vim,工作中的确使用 vim 。
    如果有好的方法进阶和快速学习不好么?
    为什么一直揪着为了 vim 而 vim 。
    这是一个学习方法的帖子,不是为什么帖子。。。

    71 条回复    2015-12-26 21:09:46 +08:00
    blacktulip
        1
    blacktulip  
       2015-12-13 21:15:12 +08:00
    用多了养成肌肉记忆就行了...没有啥别的方法
    gimp
        2
    gimp  
       2015-12-13 21:15:21 +08:00
    常用快捷键多用就记住了,不常用的背下来过一阵也会忘
    felixzhu
        3
    felixzhu  
       2015-12-13 21:18:12 +08:00
    你是怎么实现盲打的,同理
    yanw
        4
    yanw  
       2015-12-13 21:18:29 +08:00
    同一楼,肌肉记忆
    Gem
        5
    Gem  
       2015-12-13 21:19:41 +08:00
    justfly
        6
    justfly  
       2015-12-13 21:21:16 +08:00
    无他,唯手熟尔
    tracyone     7
    tracyone  
       2015-12-13 21:32:04 +08:00
    经常 help ,先系统学会如何 help
    curiouslfq
        8
    curiouslfq  
       2015-12-13 21:36:44 +08:00
    @justfly 看到标题,我点进来也想回复这句……
    oseau
        9
    oseau  
       2015-12-13 21:37:24 +08:00
    常用的自然记得住,用不到也没必要记。
    pheyer
        10
    pheyer  
       2015-12-13 21:41:31 +08:00
    经常看 CheatSheet ,经常用
    pynix
        11
    pynix  
       2015-12-13 21:47:11 +08:00
    其实也就能记住常用的。。
    pheyer
        12
    pheyer  
       2015-12-13 21:47:23 +08:00
    可以把 Vim 的 CheatSheet 表设为壁纸,或者你另外找个方便看 CheatSheet 的办法
    skydiver
        13
    skydiver  
       2015-12-13 21:48:42 +08:00
    Jaylee
        14
    Jaylee  
       2015-12-13 22:02:04 +08:00
    无它,唯手熟尔
    chinawrj
        15
    chinawrj  
       2015-12-13 22:04:48 +08:00 via Android
    我记得手册的前几页就说了,如果说你想背的话,那还是放弃吧。无他,唯手熟尔
    caixiexin
        16
    caixiexin  
       2015-12-13 22:31:30 +08:00
    把 vim 或 vim 插件用于平常项目或者写作中,用着用着那些光标移动的键位就熟了,还有 s 命令和 g 命令,其他的,要用再查吧。
    入门时,桌面壁纸改为键位图是个好办法- -
    indexof
        17
    indexof  
       2015-12-13 22:46:06 +08:00
    新手是会觉得难用。我当时是为了装逼用的,现在发现真好用。其实却是没什么特别的技巧,就是平时多用。
    bramblex
        18
    bramblex  
       2015-12-13 23:01:47 +08:00
    反了,应该是让 vim 记住你的习惯,而不是让你记住 vim 的习惯……
    4everLoveU
        19
    4everLoveU  
       2015-12-13 23:12:42 +08:00
    强迫自己去用,熟练了就好
    evilfox
        20
    evilfox  
       2015-12-13 23:17:38 +08:00 via Android
    就是手熟,一点点的练,我也不会,放假打算一点点适应
    GG668v26Fd55CP5W
        21
    GG668v26Fd55CP5W  
       2015-12-13 23:18:14 +08:00 via iPhone
    熟能生巧,勤能补拙
    greatghoul
        22
    greatghoul  
       2015-12-13 23:20:21 +08:00 via Android
    用多了
    timothyye
        23
    timothyye  
       2015-12-14 00:19:39 +08:00
    vim-tips.com 嘿嘿……
    BOYPT
        24
    BOYPT  
       2015-12-14 00:21:27 +08:00
    简单来说你把英文学好了就记得。看 vim 教程看原版英文,不要翻译,自然记得,还能补充熟悉一堆单词。
    BOYPT
        25
    BOYPT  
       2015-12-14 00:26:01 +08:00
    另外 vim 的控制命令虽然多,但我认为类似 word 的功能那样,多数的人不会用到其多数的功能;
    vim 的功能的存在只是在你能想起来时候提高效率,或者说你觉得某个操作应该可以提高效率,需要去问问别人或者去文档里面查,慢慢积累一套自己熟悉的 vim 命令子集,足够用后就一般不再变化了。为了学 vim 而学 vim ,本末倒置。
    cxbig
        26
    cxbig  
       2015-12-14 02:08:50 +08:00
    手艺活,不是让你用脑子去记忆的,熟能生巧。
    快捷键可以每个月打印一份放手边,去掉不需要提醒的,直到全都熟练
    cuthead
        27
    cuthead  
       2015-12-14 04:03:55 +08:00 via iPhone
    你说的不对啊,搜索是:%s/a/b/g 。对了为什么不用 vi 而要用 vim ?
    Cifer
        28
    Cifer  
       2015-12-14 04:18:45 +08:00
    常用的不用记啊,实在不行,你玩玩儿那个 vim adventure 那个游戏?
    lightening
        29
    lightening  
       2015-12-14 05:05:03 +08:00
    用肌肉记忆的,你叫我说出那个是什么键的话反而比较慢。
    往往是想做一件事情手先按下去了,然后看一眼才知道按得哪个键。
    janxin
        30
    janxin  
       2015-12-14 08:28:25 +08:00
    多用常用的就能记住了,其它的只能用参考了
    chuanwu
        31
    chuanwu  
       2015-12-14 08:41:42 +08:00
    VIM 这个真心别用什么技巧来记。多写,养成肌肉记忆。
    你用这个编辑器本身,是为了效率,别做任何有违这个初心的事情。
    chengkai1853
        32
    chengkai1853  
       2015-12-14 08:52:37 +08:00
    多用,没有其他的
    csensix
        33
    csensix  
       2015-12-14 08:53:57 +08:00
    把常用的放到笔记里,不记得的时候就看下,用多了自然就记住了
    hualuogeng
        34
    hualuogeng  
       2015-12-14 08:58:39 +08:00
    唯手熟尔
    imcoddy
        35
    imcoddy  
       2015-12-14 09:08:05 +08:00
    无她,唯手熟尔。
    看样子楼要歪=__=
    airqj
        36
    airqj  
       2015-12-14 09:18:21 +08:00
    无他 唯手熟尔
    harry890829
        37
    harry890829  
       2015-12-14 09:44:32 +08:00
    无他 唯手熟尔
    anguslg
        38
    anguslg  
       2015-12-14 10:06:28 +08:00
    打印出来贴在座位上
    jihaiming
        39
    jihaiming  
       2015-12-14 10:07:14 +08:00
    http://blog.jobbole.com/86132/ 可以看看这篇博客
    我觉得有一句话说的挺好. vi 即语言. 理解了更容易记住各种命令
    lixiaohan
        40
    lixiaohan  
       2015-12-14 10:25:20 +08:00
    卖油翁的话是有道理的,无它,唯手熟而 熟练的话你要什么功能, 手自然而然的就放到那个地方了
    imcoddy
        41
    imcoddy  
       2015-12-14 10:28:30 +08:00
    其实楼主需要的是这个:
    简明 Vim 练级攻略 http://coolshell.cn/articles/5426.html
    欲练此功,必先自攻啊。
    总之,还是那句话:无她,唯手熟尔。
    knightdf
        42
    knightdf  
       2015-12-14 10:42:10 +08:00
    还需要记么。。用习惯了就知道了
    chinuno
        43
    chinuno  
       2015-12-14 10:46:34 +08:00
    这个问题。看 sf 上面的老问答就行 http://segmentfault.com/q/1010000000166577
    behappy
        44
    behappy  
       2015-12-14 10:52:25 +08:00
    先理解个大概,然后慢慢用
    VOID001
        45
    VOID001  
       2015-12-14 10:53:50 +08:00
    给大家分享几个不错的练 vim 的网站(个人感觉不错, 不代表其他人的观点 QWQ)
    vimgenius.com 这是一个通过类似 flashcard 的形式练习 vim 操作的网站,可惜刚刚我访问的时候不知道为什么跪了
    http://vim-adventures.com/ 多玩几次这个游戏基本操作就熟练了.另外我只玩了免费关卡, 还有很多付费关卡没法玩(只有 chapter1 是免费的啊喂!)
    对于楼主想要更好的学习 vim 的话, 看完 vimtutor 之后, 可以看看 Hacking vim 之类的书 QWQ
    blacklee
        46
    blacklee  
       2015-12-14 10:54:41 +08:00
    举例,某一个操作,快捷的办法是按 3 次键盘,而普通的办法是按 5 次键盘。
    如果你用普通的办法完成了操作,然后意识到有快捷的办法处理。
    那这时不要对自己说下次要记得用快捷的办法,而是撤销刚才做好的处理,马上用更快捷的办法处理,并且重复 3-5 遍。
    spark
        47
    spark  
       2015-12-14 10:57:56 +08:00
    just do it
    likuku
        48
    likuku  
       2015-12-14 10:59:05 +08:00
    只要记住以下足矣:

    Esc 切换输入 /命令
    i 插入编辑模式 (backspace , del ,上下左右方向键都可用,如标准图形编辑器,你还想怎样?)
    ctrl + f 向下翻一屏
    ctrl + b 向上翻一屏
    :q 退出
    :qw 保存后退出
    :q! 不保存退出
    / keyWord 查找关键词, n 下一个匹配点, b 前一个匹配点
    fancymax
        49
    fancymax  
       2015-12-14 11:27:43 +08:00
    平常用的多了就记住了。

    但是平常怎么去多用 Vim 呢?我的几个办法,供参考:
    1 、把上下左右禁用,只能用 HJKL
    2 、把系统 Ctr + C/V 去掉,只能用"+y / "+p
    3 、 VS2015 就装 VsVim , Xcode 装 Xvim 插件,其它 ide 一般也能找到对应插件
    4 、把 notepad++等其它编辑器卸载,强迫自己只能用 Vim
    fancymax
        50
    fancymax  
       2015-12-14 11:30:43 +08:00
    另外推荐一本超级好的关于 Vim 的书《 Practical Vim 》,其它的书一般只讲操作,而这本书则结合应用场景和 Vim 哲学去讲,很容易记,讲的操作方法也非常实用,强烈推荐。
    uuspider
        51
    uuspider  
       2015-12-14 11:39:11 +08:00 via iPhone
    用 vi ,不是被逼的,就是装逼的,但都会被不明真相的人视为装逼。
    dcoder
        52
    dcoder  
       2015-12-14 11:48:29 +08:00
    在你常用的浏览器里装 vim 插件,用 vim keybindings 上网,然后就自然熟了.
    比如 Chrome 就是 Vimium 插件. 这个方法自然而实用, 解除拿鼠标的劳累感.
    powerfj
        53
    powerfj  
       2015-12-14 12:56:01 +08:00
    我当时基本上就是遇到什么问题,只要是文本编辑的,都去找 vim 有没有提供更加方便快捷的方案。

    每次去找,都发现有,每次都用正确的方法去编辑,全部依靠键盘,不动鼠标

    你这样强迫自己大概一两个月之后应该可以学会大部分。常用的后面基本上是肌肉记忆了
    SilentDepth
        54
    SilentDepth  
       2015-12-14 14:01:44 +08:00
    之前一直用的 Sublime Text ,后来知道了 IDEA ,都很好用,但是快捷键不一样啊!看上去也不好统一成一套配置,没办法然后用多了两边的快捷键都可以无缝切换了。嗯,肌肉记忆好
    jerommix
        55
    jerommix  
       2015-12-14 15:14:09 +08:00
    无它,唯手孰尔
    skywalker
        56
    skywalker  
       2015-12-14 15:34:05 +08:00   1
    说 vim 难记的,一般是没有掌握 vim 的语法,可以看看这个:

    http://ferd.ca/vim-and-composability.html

    这个作者写的东西质量都挺高的。

    简单来说, vim 大部分的操作都是动宾结构的,动作包括:

    d: 删除
    c: 修改
    y: 复制

    宾语,也就是对象:

    _: 当前行,一个简写是动作重复一下,比如 dd <=> d_
    w: 单词,大写表示空格隔开的
    {[()]}:括弧,比如 d{表示删除到上一个{

    其实还包括一些状语,比如

    i: 表示对象的内部,比如 ci{表示修改{}内部的东西, ciw 表示修改所在单词
    a: 表示对象及其包含,比如 da{表示删除大括弧及其内部包含的东西……


    而且这些东西都是可以扩展的,比如你装插件定义了一个新的对象,那么上述操作都可以很方便转移过去。

    最后,推荐本书:

    http://book.douban.com/subject/25869486/
    nomemo
        57
    nomemo  
       2015-12-14 15:52:40 +08:00
    当初五笔字根那么多散落在 25 个字母上,背口诀表,记组合
    用了十几年后,现在基本上全忘记,只靠肌肉记忆就能把字拼出来
    neo2015
        58
    neo2015  
       2015-12-14 15:55:23 +08:00
    刚从 coding 换了本 vim 实用技巧
    fengyqf
        59
    fengyqf  
       2015-12-14 16:39:54 +08:00
    bash 的 emac 风格键绑定,到 vim 里也经常随手打错。。。。
        60
    pheyer  
       2015-12-14 17:28:40 +08:00
    @nomemo 就像张三丰学太极一样,先背口诀,再把口诀忘掉
    calon
        61
    calon  
       2015-12-14 17:31:27 +08:00   2
    1 、记住和命令对应的操作英文说法确实有用,比如(i)nsert 、(s)ubstitue 、(n)ext 、(c)lear 、(y)ank 、(d)elete 、(a)ppend 、(a)round 等等,即使不是完全正确,只要方便自己记忆就行;
    2 、一开始不要尝试记太多的命令,用熟常用的几个,再慢慢增加,一步步来就行。
    Vim 进插入模式当记事本勉强也是可以用下来的。

    话说有过写个给非程序员的 Vim 入门手册的想法,不过现在连程序员都喜欢用 ST 系了,感觉需求不是很多啊。
    icylogic
        62
    icylogic  
       2015-12-14 17:35:41 +08:00
    从小到大除了九九乘法表就没觉得哪个口诀有用 ...
    ishamo
        63
    ishamo  
       2015-12-14 19:22:49 +08:00
    真的要记吗?花个 30 分钟把 vimtutor 做一下,以后有心情再看看帮助文档不就行了。我就是这么做的, vim, emacs, 以及学新的东西都是先找 tutorial 。
    lxjsmdc
        64
    lxjsmdc  
       2015-12-14 19:58:34 +08:00
    @calon 期待你的 Vim 入门神作 补多几个快捷键释义也好啊
    chemzqm
        65
    chemzqm  
       2015-12-14 20:21:52 +08:00
    @fengyqf
    " command line emacs shortcut, same as shell {{
    cmap <C-k> <Up>
    cmap <C-j> <Down>
    cmap <C-b> <Left>
    cmap <C-f> <Right>
    cmap <C-a> <Home>
    cmap <C-e> <End>
    cmap <C-d> <Del>
    cmap <C-h> <BS>
    " }}
    有个 emacs-bindings.vim 插件 我用的只是 control 的那些。
    mengzhuo
        66
    mengzhuo  
       2015-12-15 13:28:05 +08:00
    正常模式下大家都说很多了~
    但是我要说的是, insert mode 的时候也有些好用的快捷键
    Ctrl + w 删除单词
    Ctrl + h 删除字符
    Ctrl + j 换行
    Ctrl + y 复写上面那行的字符(特别是写类方法的时候, Ctrl+y 两次一个 tab 补齐,速度不要太快)
    fengyqf
        67
    fengyqf  
       2015-12-15 18:50:28 +08:00
    @chemzqm 就是这些快捷键,尤其是 C-f C-b C-e C-a 这 4 个
    不过也懒得去装 vim 插件了,错错就习惯了
    Neveroldmilk
        68
    Neveroldmilk  
       2015-12-17 17:07:32 +08:00
    @likuku 你都反了吧?:wq 是保存退出。
    likuku
        69
    likuku  
       2015-12-17 18:10:40 +08:00
    @Neveroldmilk ,暴露了。。。其实我用 :x
    wudanyang
        70
    wudanyang  
       2015-12-24 16:01:35 +08:00
    如果哪天你不写代码了,你就会发现,哇, vim 还不如记事本好用。
    join
        71
    join  
       2015-12-26 21:09:46 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3210 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 04:55 PVG 12:55 LAX 21:55 JFK 00:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86