Mark24
V2EX  ›  Vim

熟练地 Vim,真的能极大的提高工作效率么?

  •  
  •   Mark24 · Sep 14, 2016 · 23522 views
    This topic created in 3712 days ago, the information mentioned may be changed or developed.

    来回使用鼠标真心好累啊

    回头发现, vim 就是解决这个的

    现在开始有耐心的,学习 vim

    126 replies  •  2016-09-22 18:12:20 +08:00
    1  2  
    ❮ ❯
    daya
    daya
    Sep 14, 2016 via Android❤️1
    1
    熟练的 Debug ,才能提高工作效率。
    tonyluj
    tonyluj
    Sep 14, 2016 via Android❤️1
    2
    能,但不是最根本的
    zhuangzhuang1988
    zhuangzhuang1988
    Sep 14, 2016
    3
    别作死..
    jiyinyiyong
    jiyinyiyong
    Sep 14, 2016❤️1
    4
    熟练使用触摸板也可以提高效率. 熟练使用 Sublime Text 也可以提高效率.
    xieguanglei
    xieguanglei
    Sep 14, 2016
    5
    如果只是想减少鼠标的使用,先折腾 IDE 的快捷键吧
    nailuoGG
    nailuoGG
    Sep 14, 2016
    6
    熟练使用比不熟练使用效率当然高一些

    比如熟练编程也可以提高效率
    kechx
    kechx
    Sep 14, 2016❤️1
    7
    熟练使用任何 IDE/文本编辑器 都能极大地提高工作效率,关键是你的应用场景。例如公司技术有没有强制要求?是不是只能在服务器上修改等等,如果都没有,那么自己喜欢用什么,就用什么。
    wikinee
    wikinee
    Sep 14, 2016
    8
    你可以买个小红点键盘
    28ms
    28ms
    Sep 14, 2016
    9
    然而又不能完全不使用鼠标, IDE + vim 键位插件是个很靠谱快速的解决方案。
    metrue
    metrue
    Sep 14, 2016
    10
    这是毫无疑问的。
    Felldeadbird
    Felldeadbird
    Sep 14, 2016
    11
    web 开发觉得并不会提升,即使浏览器也有 VIM 插件
    Bown
    Bown
    Sep 14, 2016
    12
    Android Studio + Vim Emulation
    然后经常有同事看我敲代码问我用的什么快捷键怎么这么灵巧。。
    hellojl
    hellojl
    Sep 14, 2016
    13
    1. 能提高写字效率
    2. 习惯了 vim 后,再用普通编辑器就会浑身难受
    3. 每天需要按摩左手小拇指
    murmur
    murmur
    Sep 14, 2016❤️2
    14
    vim 运维用效率很高 开发还是 IDE 谁用谁知道 界面长这么丑用着能舒服么
    你平时快捷键用多少 ? ctrl+c/v/x ctrl+shift+f 还一个 class/file 的快速入口 就这些了
    真不知道 vim 有啥可优越的 ide 的好处是根本不需要记忆快捷键 顺着思路来就可以了 比如我需要对一堆文件 rename 临时看一眼有快捷键就够了
    fatedier
    fatedier
    Sep 14, 2016
    15
    应该具体问题具体分析,你要开发什么应用,可能不同的语言环境对 IDE 的依赖也不同。

    比如我现在经常用 go 开发后端应用, tmux + oh-my-zsh + vim 就是非常高效的完全脱离鼠标的解决方案。
    通常浏览器下需要用到鼠标,不过可以通过 chrome 的 vimium 扩展来解决部分需求。
    然后应用切换还有一些其他操作,在 mac 下用 alfred, spotlight 来完成。

    每个人习惯不同,我觉得敲着敲着键盘要突然动一下鼠标,次数多了会觉得累。这一点如果直接使用 macbook 的键盘 + 触摸板就感觉还不错,不然鼠标和键盘还是有点远。
    xy19009188
    xy19009188
    Sep 14, 2016
    16
    这一点从 vimium 上就看出无线的优势,快捷键使用的 6 的飞起,尤其是自定义快捷键后,左手快捷键切换 tab ,翻页等操作,右手触摸板多手势系统级切换, 6 到飞起。
    xy19009188
    xy19009188
    Sep 14, 2016
    17
    @fatedier 同感,我是 win 党,现在就是 Chrome+vimium , listary ( wox ),自带触摸板, 6 到飞起,已经好久没用过鼠标了
    jixiangqd
    jixiangqd
    Sep 14, 2016
    18
    目前 IDEA/Pycharm + vim plugin 。
    专注写代码的时候 确实可以很大提高效率的。 虽然 vim 也可以配置的很强大,但是感觉总归不如 jetbrains 家的 ide 强大。
    不过,这样的方案还有个问题,就是 vim plugin 的 bug 很多,而且并不能完全模拟 vim 的全部操作,有时候会有些蛋疼。不过用久了以后,摸到规律,其实还是可以使用的。
    Axighi
    Axighi
    Sep 14, 2016
    19
    成功配置 nvim 让它比一年前的 atom 更慢了。。。
    guoqiao
    guoqiao
    Sep 14, 2016❤️1
    20
    单独只说某个特定领域的话, 一定能找出定制的工具比 Vim 更强.

    Vim 的强大在于通用性: 可以操作一切文本, 可以工作于一切环境.

    无论你用什么编程语言, 无论你处理任何文字.
    无论是 Linux, macOS 还是 Windows, 无论是 GUI 还是 CLI, 无论是本地还是远程.

    而且你掌握之后, 操作会全部变成肌肉反应, 能真正做到让手速跟上你的大脑, 得心应手, 指哪儿打哪儿.

    我们喜欢用"无招胜有招"或者"唯快不破"来形容武术的最高境界.
    而这两点, Vim 都做到了极致.
    nl
    nl
    Sep 14, 2016
    21
    不敢说提升效率, vim 让我专注了许多!
    smartdie
    smartdie
    Sep 14, 2016
    22
    切记 Vim 是必须和 Shell 搭配用。熟悉 Vim 的人,是以 Vim 为中心的思路。例如你用 IDE 遇到不方便时候会去改 IDE 配置,如果没法改就只好适应 IDE ;用 Vim 时候就要强迫自己去修改插件,自己写配置脚本,慢慢让编辑器适应你。
    chemzqm
    chemzqm
    Sep 14, 2016
    23
    vim 好是好,但是多数人还没体会到它的好,就已经放弃学习了,建议楼主触摸板就是了

    @Axighi 有些 vim 插件比较重,但是轻的插件多数人又会觉得不够方便
    EXE
    EXE
    Sep 14, 2016
    24
    取其精华,作为其他 IDE 的辅助还是不错的,比如 ideavim
    lxy
    lxy
    Sep 14, 2016
    25
    已起飞。
    不知道怎么形容,感觉 vim 的操作粒度分得很细。比如在 normal 模式下的删除。
    段落级: ndd ( n 是数字)
    行级: dd 、 D 、 d0
    单词: dw 、 daw
    字母: x 、 s
    上面都是我用得比较多的,在别人用鼠标小心地选择要删除的文本的时候我已经删除完成了。
    wenbinwu
    wenbinwu
    Sep 14, 2016
    26
    少开网页提升效率更明显
    polun
    polun
    Sep 14, 2016
    27
    vim 确实是可以便捷操作。
    ztyoung
    ztyoung
    Sep 14, 2016
    28
    点进来对没看到 emacs 党开群嘲感到很欣慰。
    mark06
    mark06
    Sep 14, 2016
    29
    我目前是 pycharm+ideaVim ,感觉不错
    harry890829
    harry890829
    Sep 14, 2016❤️1
    30
    vim 很高效,我现在用别的编辑器都是先安装 vim 插件……
    xinple
    xinple
    Sep 14, 2016
    31
    纯键盘操作,还是蛮爽的,之前用过一段时间 vim 写前端,开始学习阶段比较累,一直要出去查快捷键,后来能流程的敲代码了,但是,过了一段时间,遇到大概一两个月没怎么写代码之后,再用 vim 突然发现很多快捷键又忘记了,后来就放弃了,用 Sublime Text 之类的编辑器,很多快捷键用好了也还是不错的。
    zhongkaixin
    zhongkaixin
    Sep 14, 2016
    32
    这得看开发什么,如果是文件很少,比如开发 jquery 这个库,就一个文件,用 vim 当然爽。现实中的项目,还是离不开 IDE ,用 vim 你敢使用 10 个字符以上的命名吗?
    tracyone
    tracyone
    Sep 14, 2016
    33
    很好玩,我就觉得配置 vim 很好玩而已。
    9avalon
    9avalon
    Sep 14, 2016 via Android
    34
    怎么说呢, vim 你用习惯之后,以后用其他工具都会先去找找有没有 vim 的插件
    initialdp
    initialdp
    Sep 14, 2016
    35
    不能提高多少效率。你花在 vim 的时间,如果花在其他著名的编辑器、 IDE 上,最终效果都是一样的。
    RiceNoodle
    RiceNoodle
    Sep 14, 2016
    36
    IDE+vim 插件使用者
    基本上各个 IDE 都有提供一套 vim 插件,所以文本编辑上不用再去熟悉各个平台的 IDE 快捷键了
    没有用过纯 vim 来开发,那个想想也会很纠结。
    fuxpro
    fuxpro
    Sep 14, 2016
    37
    从根本上提交效率只能依靠一个人的心力和脑力, 这些外在的地具不可能从本质上提高一个人的生产力, 因为任何一个人如果掌握了这个工具生产力就出现根本的提高, 那么请你相信今天应该是 VIM 统一天下的朝代了, VS 和 Jetbrain 应该不会有, 明白了吗?兄弟
    hyrious
    hyrious
    Sep 14, 2016 via Android
    38
    提高效(su)率(du)三步:
    快捷键,命令行,运行脚本。
    生产环境(以减少操作为目标的话):
    生成(IDE 总是在为你做这件事)。
    CYKun
    CYKun
    Sep 14, 2016 via Android
    39
    学过一段时间 vim ,实在是接受不了。

    后来如了 filco minila ,现在见人就安利
    virtualworld
    virtualworld
    Sep 14, 2016
    40
    反正写英文是非常的爽。我不会写程序,但 vim 用起来也觉得相当爽快,那种手不离键盘的感觉让你的思路不会被打断。
    JohnSmith
    JohnSmith
    Sep 14, 2016
    41
    事实上,需要打字都会提高效率
    tinyproxy
    tinyproxy
    Sep 14, 2016
    42
    1. vim 重构并不合适,这个事情 IDE 比较舒服。
    2. 如果你只是为了节省挪鼠标的时间,其实并不会提高太多效率,难道你写代码不是写写停停?
    sudoz
    sudoz
    Sep 14, 2016
    43
    @jixiangqd JB 家的内置快捷键已经很强大了,加上 vim 插件后冲突好多,需要好好配配
    daimao
    daimao
    Sep 14, 2016 via iPhone
    44
    @CYKun minila 对 vim 有加成效果吗?
    daimao
    daimao
    Sep 14, 2016 via iPhone
    45
    不一定用 Vim ,但是一定要用 Vim mode
    crashX
    crashX
    Sep 14, 2016
    46
    如果有断点, log 输出,实时渲染这几个功能还行,不然感觉不如 ide 来的效率。
    lightening
    lightening
    Sep 14, 2016
    47
    如果你其他方面的效率都 max 了,练习一下确实能提高效率。但是你其他方面还没有 max 的话,我认为 vim 的效率提升不是最大的。
    yuuko
    yuuko
    Sep 14, 2016
    48
    vim 并不能提高你的工作效率,只能提高写代码的效率
    zonghua
    zonghua
    Sep 14, 2016
    49
    小红点
    TimLang
    TimLang
    Sep 14, 2016 via Android
    50
    我来说吧,熟练使用 vim 可以极大得满足你的虚荣心,除了在 emacs 用户年前耍。
    Em5O7B1JGfjQnBry
    Em5O7B1JGfjQnBry
    Sep 14, 2016 via Android
    51
    当你天天用 vim 的操作模式写代码习惯了之后,看人家写代码偶尔用鼠标搓来搓去的,看着都觉得累
    zby0826
    zby0826
    Sep 14, 2016
    52
    emacs 真的可以提高效率…
    onlyice
    onlyice
    Sep 14, 2016 via Android
    53
    对我来说就是 hjkl 替换了方向键,手指舒服一点。。
    maxmilia
    maxmilia
    Sep 14, 2016
    54
    并不能
    dreamtrail
    dreamtrail
    Sep 14, 2016
    55
    vim 用来写任何脚本语言或者系统配置都是神器,但是代替不了 IDE ,我一般会用 IDE 的 VIM 模式,取其精华
    Mark24
    Mark24
    OP
    Sep 14, 2016
    56
    看完回答,挺让我意外的,最后果然还是 IDE (笑哭)
    dtfm
    dtfm
    Sep 14, 2016 via Android
    57
    其实用惯了 JetBrains 全家桶感觉效率有已经杠杠的了,看过很多人用 Vim 效率挺不错,就是那个 UI 实在让我习惯了 Subline 和 Vs code 后接受不了。

    IDE 才是未来!!
    ivvei
    ivvei
    Sep 14, 2016
    58
    实际工作中打字的时间只是小部分,效率提升有限。
    chinawrj
    chinawrj
    Sep 14, 2016
    59
    平时写代码多还是挺有用的。
    andrewpsy
    andrewpsy
    Sep 14, 2016
    60
    神一般的组合: Visual Studio 2015 pro+Resharper+VsVim
    tonghuashuai
    tonghuashuai
    Sep 14, 2016
    61
    其实, vim 是用出来的,不是学出来的
    xpol
    xpol
    Sep 14, 2016
    62
    Resharper 好卡。
    xiandao7997
    xiandao7997
    Sep 14, 2016 via Android
    63
    解决问题的思路和方法,技巧永远都是第一位的,编程不等于打字
    6IbA2bj5ip3tK49j
    6IbA2bj5ip3tK49j
    Sep 14, 2016
    64
    一天写几千上万行,可能会有很大的效率提升。
    如果你像我,一天撑破天也就几百行,那其实都一样。 IDE 还更省心一点。
    aristotll
    aristotll
    Sep 14, 2016
    65
    r#18 @jixiangqd 我也是类似的解决方案 感觉能有 2 个的好处
    aristotll
    aristotll
    Sep 14, 2016
    66
    能
    braineo
    braineo
    Sep 14, 2016
    67
    当打字是你开发速度瓶颈的时候
    corvofeng
    corvofeng
    Sep 14, 2016 via Android
    68
    首先你要熟练的使用 vim
    Ixizi
    Ixizi
    Sep 14, 2016
    69
    在熟练的过程中渐行渐远。。。。。





    人家都写了好几个 demo 了,你还在熟练。
    Tonni
    Tonni
    Sep 14, 2016
    70
    Vim 重度用户,而且只用 Terminal 下的 Vim ,离开了 Terminal 就没什么意义了。
    hei1000
    hei1000
    Sep 15, 2016 via Android
    71
    就没人吐槽 vim 的模式转换?
    yech1990
    yech1990
    Sep 15, 2016
    72
    熟练的使用鼠标也能提高工作效率啊。。。
    vim 必须是服务端,命令行的工作方式,才能体现最大价值。
    如果是图形界面,还是各种 IDE 来得实在,无需过多的挣扎。
    fjzjk
    fjzjk
    Sep 15, 2016
    73
    只能提升你写代码一部分的效率。
    很多功能还是 ide 方便
    另外 debug 才是开发最重要的部分
    1990andy
    1990andy
    Sep 15, 2016
    74
    又是这种 vim 的问题。。。历史事实告诉我们,一个工程师的从业时间达到一定程度时,他会不可避免的接触的 vim ,无论前端还是后端。为什么会被逼着去学 vim ,因为你一定是遇到了没有 GUI 图形界面,但又必须 coding 的场景,然后问题来了,比较 6 的命令行编辑器也就那几个。。。
    nicevar
    nicevar
    Sep 15, 2016
    75
    会用 vim 会节省很多时间,与重型 IDE 没冲突,比如代码重构用 IDE 比较方面,但是一些文本操作比如 log 查看用 vim 来操作快捷多了,或者你去修改一个远程设备上的 hosts 文件会 vim 特别省事,如果用的好的话 IDE 里面用模拟 vim ,效率相当高
    CYKun
    CYKun
    Sep 15, 2016 via Android
    76
    @daimao 没试过,如果你能熟练使用 vim 的话用不用 minila 应该没什么区别
    bao3
    bao3
    Sep 15, 2016 via Android
    77
    非常能提高效率
    csslayer
    csslayer
    Sep 15, 2016
    78
    你应该先看到影响你效率的地方在哪里,然后再看看解决问题的方式 ´_>`
    binux
    binux
    Sep 15, 2016
    79
    @murmur 你的这些快捷键都是操作,那么你要怎么选中操作的对象(字符串选区)?
    murmur
    murmur
    Sep 15, 2016
    80
    @binux 鼠标操作永远是最方便的 vim 再便捷也只能行删 词删 只要带中文就毫无办法了 鼠标操作就可以刷出任意区域来
    lujun9972
    lujun9972
    Sep 15, 2016 via Android
    81
    @murmur 你一定没用过 vim 的 visual 模式…
    binux
    binux
    Sep 15, 2016
    82
    @murmur 所以 vim 效率就体现出来了,就连选取都不用脱离键盘,除了行和 word ,还可以列选取,符号(例如"[]')配对选取,段落选取,搜索选取,这些都不超过 3 个按键。当然中文也没有问题。
    murmur
    murmur
    Sep 15, 2016
    83
    @binux 鼠标挺好的 鼠标不习惯去玩玩 osu 就好了
    binux
    binux
    Sep 15, 2016
    84
    @murmur 然而,我用数位板玩。
    wuruxu
    wuruxu
    Sep 15, 2016 via Android
    85
    会了 vim,,你会觉得其他编辑器都是渣,这时候你就入门了
    murmur
    murmur
    Sep 15, 2016
    86
    我来总结一下不用 vim 的理由好了:
    (1)能把快捷键提升到影响工作效率的,我认为我知道只有 3 个,作图的, CAD ,文书,因为这些都需要反复对内容进行大量操作,而且操作的方式繁多,多到一屏幕放不下只能快捷键,程序员绝大多数在干吗,敲代码啊,至于代码补全这些也需要快捷键?不是打到什么位置 IDE 自动告诉我下一步该输什么了,如果你绝大多数时候在块删块改,我认为你应该好好恶补一下了,或者可以说是敏捷开发的锅?什么东西不做设计不做文档呼呼一顿写结果出来不能跑只能改。代码跟图不一样,美这个东西是需要做出来才知道效果的,要反复修改,代码这东西构思好敲出来牛 b 的程序员点 run 就应该可以跑通才对。
    (2)程序员有时候思维跟正常人不一样,这个世界是图形的,你从小看的是白纸黑字的书,你用的 iphone , mac 电脑都美的很,突然让你用一个黑乎乎只有字的东西,能接受?不要跟我说什么对比度,黑色对比度好请让你们行政换点好的日光灯来,人的眼睛需要休息,这个时间我认为 1 个小时就要休息 1 分钟,而不是你改个颜色就能骗过去的。
    (3)有人说需要在服务器上改代码,那是运维做的事,你一个开发人员随随便便上服务器就把代码改了,何等混乱的管理?没有自动集成么? beta 服务器也是要自动集成的,而不是你随便上去就把代码改了就敷衍了事,你能随便改的就你本机的开发环境,这个时候,你的 mac 干嘛去了,配点大内存啊。
    (4)快捷键因为就那么几个字母,稍微多一点就不能跟单词关联了,但是 IDE 的布局可以,比如我要搜索替换,无论是全文、全目录、全项目,一定在 Edit 菜单里,我要跳转,点一下行号应该就可以做到,我要格式化 /生成代码,这些操作一定跟 Code 相关(顺便鄙视没事格式化别人代码的,有的排版我是精心做出来一格式化全乱了)这些操作你一天能用几次?如果你每天跳来跳去的,我建议你改一下工作习惯,写完一个模块再写下一个,顺便把单元测试做了,搜索这个东西, IDE 更方便啊,你说你打 /可以搜索,但是你知道 ide 的结果都实时显示么?有的时候我根本不需要看结果,我只需要确认一下这东西有没有人做,或者拼的对不对,那我连敲回车看结果的步骤都省掉了
    mrytsr
    mrytsr
    Sep 15, 2016 via Android
    87
    废话
    squallcx
    squallcx
    Sep 15, 2016 via Android
    88
    spacemacs 誰用誰知道
    waruqi
    waruqi
    Sep 15, 2016 via iPhone
    89
    能 现在的 ide 太臃肿 卡的要死 只会拖慢开发效率 androidstudio 上改两行代码后编译安装调试一回 至少 20 分钟没了 vim+ant+adb 顶多 3 分钟
    linux40
    linux40
    Sep 15, 2016 via Android
    90
    vim 能提高效率是在打字成为瓶颈而不是知识成为瓶颈的时候。
    linux40
    linux40
    Sep 15, 2016 via Android
    91
    @linux40 也不是在记忆成为瓶颈的时候
    wyntergreg
    wyntergreg
    Sep 15, 2016
    92
    键盘打的啪啪啪快,不代表效率就高

    IDE 点一下就能出来的东西,非要啪啪啪打

    到底谁快?
    dennyzhang
    dennyzhang
    Sep 15, 2016
    93
    哈哈,来个口水文。

    是时候叫出 emacs 了。
    JamesMackerel
    JamesMackerel
    Sep 15, 2016 via Android
    94
    折腾这些有的没的,不如多看看书。
    就算是背几个算法都好。省了上网查资料的时间,省了思前想后的时间省了 debug 的时间,比不用键盘编程提高的效率多多了。
    当然如果你想提高的是编程的体验而不是效率, vim 的那一套确实可以稍微学学基础。
    JamesMackerel
    JamesMackerel
    Sep 15, 2016 via Android
    95
    @zhongkaixin YouCompleteMe 是我见过的配置最恶心的补全,但是是最好用的。这一点我觉得宇宙第一 IDE 都比不上他。
    shiweifu
    shiweifu
    Sep 15, 2016
    96
    这道题没有标准答案呀。

    1. 你得看你做什么工作,移动端、网页端、服务端开发环境几乎没可比性。比如服务端的同学有连到服务器上在终端下改配置的需求,移动端和网页端都没这个需求,图形桌面都没有,你开个 GUI 的编辑器试试看?
    2.「 VIM 效率高」的本意可能是指手不离开键盘,尽量少用鼠标多用快捷键,用啥编辑器是「手段」不是「目的」
    3. IDE 也能装 VIM 插件
    adoyle
    adoyle
    Sep 15, 2016
    97
    这是一个持续渐进的过程。

    另外,如果想要得到理性的评论,建议楼主指出“工作效率”的讨论范围。不同场景下,或许有比 vim 更好的选择。
    bao3
    bao3
    Sep 15, 2016 via Android
    98
    最单纯地说,可以极大提高写代码的效率,只是调试的效率可能需要结合实际。
    murmur
    murmur
    Sep 15, 2016
    99
    @waruqi 你的意思是 gradle 比 ant 效率低么?
    murmur
    murmur
    Sep 15, 2016
    100
    @JamesMackerel 宇宙第二 IDE 已经能识别是应该补一个 new 还是补 getInstance 了, you comleteme 能?
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 255ms · UTC 21:57 · PVG 05:57 · LAX 13:57 · JFK 16:57
    ♥ Do have faith in what you're doing.