V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1yndonn3u
V2EX  ›  Vim

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

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

    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
    就是手熟,一点点的练,我也不会,放假打算一点点适应
    falcon05
        21
    falcon05  
       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 里也经常随手打错。。。。
    pheyer
        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   ·   我们的愿景   ·   实用小工具   ·   2431 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:06 · PVG 00:06 · LAX 09:06 · JFK 12:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.