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

vim 值得学习吗

  •  
  •   Neytoph · 2016-03-03 08:49:39 +08:00 via iPhone · 12955 次点击
    这是一个创建于 3221 天前的主题,其中的信息可能已经有所发展或是发生改变。
    可能是个敏感话题,无意引战= =
    说下我的情况吧:
    1.最近经常要在服务器上编辑,所以稍微接触了点 vim
    2.觉得 vim 很酷,不用鼠标,很爽
    3.目前用 sublime ,还停留在鼠标加方向键的水平 XD 觉得应该提高一下编辑水平

    所以 vim 熟练后究竟有多方便?值得深入学习吗?
    第 1 条附言  ·  2016-03-03 16:52:46 +08:00
    看到回复,又有个疑问:
    **php 开发用 vim 是不是不如 IDE ?**
    136 条回复    2016-04-20 18:09:26 +08:00
    1  2  
    hbkdsm
        1
    hbkdsm  
       2016-03-03 08:54:03 +08:00
    the best investment ever
    AntonChen
        2
    AntonChen  
       2016-03-03 09:00:33 +08:00
    看情况,如果是用作开发建议 Emacs ,原因不表怕引战
    如果是服务器上用用,那就 Vim 吧。当然了 现在很多编辑器还有 IDE 都有 Vim 模式 所以学了不亏

    PS: 用 Vim 做开发的也很多,不过我觉得难点在于配置 Vim 一个好配置很难写
    PS2 :我在用 Vim 主要写 Shell ,写 Python 用 IDE ,计划学学 Emacs
    rock_cloud
        3
    rock_cloud  
       2016-03-03 09:01:50 +08:00
    我的 VS , Intellij , Sublime 都装了 vim 插件,用起来巨爽无比~~前提是你得熟悉 vim 的操作。
    其实只是个工具而已,得看自己是否用得习惯。
    jsonline
        4
    jsonline  
       2016-03-03 09:05:15 +08:00
    别人问 VIM , emacs 凑什么热闹,真是服了
    billion
        5
    billion  
       2016-03-03 09:05:34 +08:00
    我开始使用 Vim 是被逼无奈,公司电脑装 Eclipse ,导致电脑巨卡无比,但是又不能使用其他的商业 IDE 。于是我只有使用 Vim. 结果后来发现 Vim 如此的好用以后,在家里也用 Vim 了。
    AntonChen
        6
    AntonChen  
       2016-03-03 09:06:23 +08:00
    用 Vim/Emacs 的意义在于不会因为开发其它语言时还需要熟悉 IDE
    pagict
        7
    pagict  
       2016-03-03 09:07:30 +08:00
    非常值得
    myid
        8
    myid  
       2016-03-03 09:14:22 +08:00 via iPhone
    太值了。还犹豫啥?开始用吧 !
    crazyxin1988
        9
    crazyxin1988  
       2016-03-03 09:15:35 +08:00
    值得学习,就算平时不用 vim 写代码
    服务器上 会点 vim 还是有用的
    Neytoph
        10
    Neytoph  
    OP
       2016-03-03 09:16:09 +08:00 via iPhone
    @pagict
    @myid 稳妥!
    Neytoph
        11
    Neytoph  
    OP
       2016-03-03 09:17:22 +08:00 via iPhone
    @rock_cloud 哈哈 学习成本不是问题 我还是很想学的!
    Neytoph
        12
    Neytoph  
    OP
       2016-03-03 09:18:05 +08:00 via iPhone
    @AntonChen 谢谢建议!
    Neytoph
        13
    Neytoph  
    OP
       2016-03-03 09:20:19 +08:00 via iPhone
    @jsonline 都是好心建议~和谐!:)
    answerwa
        14
    answerwa  
       2016-03-03 09:20:37 +08:00
    @jsonline 这就是来引战的
    hei1000
        15
    hei1000  
       2016-03-03 09:30:35 +08:00
    我大量或者多文件编辑就是用 Emacs ,平时做笔记都是 Emacs 里面的 Org-mode ,少量或单文件就用 Vim ,在服务器服务器之类的编辑肯定得推荐学学 Vim
    ck1llc
        16
    ck1llc  
       2016-03-03 09:37:06 +08:00
    Neytoph
        17
    Neytoph  
    OP
       2016-03-03 09:37:28 +08:00 via iPhone
    @hei1000 谢谢! emacs 还不怎么了解 看来应该去了解一下
    sudoz
        18
    sudoz  
       2016-03-03 09:37:44 +08:00
    @AntonChen 你都没学过 Emacs ,凭什么说“如果是用作开发建议 Emacs ,原因不表怕引战”,胆子也太大了吧
    daben1990
        19
    daben1990  
       2016-03-03 09:39:11 +08:00
    我是前端开发,全部用 vim 编辑,多练习几次就好了,配合 Alfred ,基本可以做到免鼠标写代码。主要是双手不用离开键盘的感觉,会让你无法自拔哈。 https://github.com/fyddaben/dotfiles/blob/master/.vimrc,这是我的配置
    Neytoph
        20
    Neytoph  
    OP
       2016-03-03 09:39:16 +08:00 via iPhone
    @ck1llc 好的!谢谢!
    hei1000
        21
    hei1000  
       2016-03-03 09:50:00 +08:00 via Android
    @Neytoph Emacs 上也有模拟 Vim 的插件 evil-mode ,这样 Emacs 里面可以同时用 Emacs+Vim 提供的功能(我个人不用这个,不过好多 Vim 转过来的都会安装),所以学习 Vim 是肯定值得的
    wtbhk
        22
    wtbhk  
       2016-03-03 09:51:46 +08:00
    并不是说非要学多高端啊,至少在 Sublime 里面开启 Vim 模式之后上下左右切光标、翻页、复制粘贴什么的快了很多
    loading
        23
    loading  
       2016-03-03 09:53:26 +08:00 via Android
    会切换输入模式,会移动光标,会保存,会退出。
    够了!
    JackyHua
        24
    JackyHua  
       2016-03-03 10:08:25 +08:00
    h j k l 这四个键正如 w a s d 一般,特别我没鼠标的情况下.
    louirobert
        25
    louirobert  
       2016-03-03 10:37:44 +08:00
    "双手可以不离开键盘“这不是一个需要学习 VIM 的理由,很多优秀的编辑器都可以做到,比如 UltraEdit 。作为一个 VIM 用户,我觉得的理由有很多,但如果说有一条是必要的的话,那就是* nix 服务器调试/配置:你不能指望在服务器上安装 subline 或者其他任何 GUI 编辑器,你需要的是直接在服务器上打开/编辑文件,这是 VIM 就是标配了,几乎所有* nix 系统上都标配 VIM 作为编辑工具,甚至不是 emac 。
    expkzb
        26
    expkzb  
       2016-03-03 10:48:43 +08:00
    看一下 vim 实用技巧 这本书,编辑效率提升一倍
    htfy96
        27
    htfy96  
       2016-03-03 10:52:54 +08:00
    当学习一门新语言时(例如 rust 刚出来的那一段时间), vim 是唯一可用的带语法高亮的编辑环境
    Neytoph
        28
    Neytoph  
    OP
       2016-03-03 10:54:24 +08:00
    @daben1990
    @expkzb 谢谢推荐!
    Neytoph
        29
    Neytoph  
    OP
       2016-03-03 10:55:34 +08:00
    @wtbhk
    @loading 这也是一种玩法吧,借鉴了部分 vim 操作~
    Neytoph
        30
    Neytoph  
    OP
       2016-03-03 10:58:32 +08:00
    @louirobert 确实, vim 跨平台的能力也是想学习 vim 一个重要原因!
    china521
        31
    china521  
       2016-03-03 12:08:16 +08:00
    Vim 用了 5 年了, 有时候还真得用鼠标.. 插件多了打开大文件,卡的那叫真卡,配合 sublime 用吧.
    lxrmido
        32
    lxrmido  
       2016-03-03 12:09:40 +08:00
    vim 的价值在没有 GUI 的时候可以充分体现
    river1007
        33
    river1007  
       2016-03-03 12:54:27 +08:00
    个人情况是 4 年多的 vim,现在开发项目都用 vim 。
    曾三度放弃 Emacs ,不能忍受非模式编辑器纯键盘操作对手指的摧残。
    如果没有洁癖,可以用 spacemacs ( vim 和 emacs 的合体吧)。
    个人感觉编辑器还是(neo)vim 比较高效, emacs 太重
    O(∩_∩)O~~
    joye1230
        34
    joye1230  
       2016-03-03 14:16:40 +08:00
    emacs 重新打开文件后跳转到上次行号的问题一直没解决
    vim 原生态,所以放弃了 emacs
    kaichen
        35
    kaichen  
       2016-03-03 14:36:08 +08:00
    Vim 从 Vi (诞生于 1976 年)这套东西,基本操作和概念学会之后起码十年内不用去折腾新的编辑器,最长的用户已经用了 40 年,时间投入性价比极高。 Emacs 同理。

    像 Mac 上,从 TextMate 到 Sublime ,再到现在的 Atom / VS Code ,主流编辑器一直在变,用 Vim 也习惯于用 Vim 的就不用折腾那么多。
    yuriko
        36
    yuriko  
       2016-03-03 14:42:59 +08:00
    Java 开发表示……不用 ide 感觉甚是难活……

    VIM 最大的好处对我而言就是能在命令行里操作代码了。
    所以会用还是很必要的
    macauhonghong
        37
    macauhonghong  
       2016-03-03 14:48:58 +08:00
    开始会有点难,但熟练后会很爽。用它编辑代码有好几年了。

    缺限肯定有,但深入学习肯定值。
    CoderRunner
        38
    CoderRunner  
       2016-03-03 14:57:25 +08:00
    sublime 设置里有一行
    "ignored_packages": ["Vintage"]
    Vintage 就是 vim 的编辑模式
    mhb
        39
    mhb  
       2016-03-03 15:41:56 +08:00 via iPhone
    既然学习成本不是问题,那还犹豫什么!搞!
    Neytoph
        40
    Neytoph  
    OP
       2016-03-03 16:44:03 +08:00 via iPhone
    @mhb 搞搞搞!
    Neytoph
        41
    Neytoph  
    OP
       2016-03-03 16:45:04 +08:00 via iPhone
    @river1007 谢谢经验!
    forsigner
        42
    forsigner  
       2016-03-03 16:45:28 +08:00
    @hbkdsm can't agree more
    Neytoph
        43
    Neytoph  
    OP
       2016-03-03 16:45:54 +08:00 via iPhone
    @china521
    @CoderRunner 感觉配合着用还不错 哈哈
    wupher
        44
    wupher  
       2016-03-03 16:46:02 +08:00
    做运维时很需要,尤其人在机房,急赶脚本修故障什么的。

    做开发还是 IDE 更好用,尤其是在调试时。
    Neytoph
        45
    Neytoph  
    OP
       2016-03-03 16:46:40 +08:00 via iPhone
    @yuriko 听说 java 用 vim 很痛苦...不过并不了解为什么...
    Neytoph
        46
    Neytoph  
    OP
       2016-03-03 16:48:30 +08:00 via iPhone
    @wupher 我就是比较担心这个 我是 php 的 不知道调试会不会很蛋疼...
    elvodn
        47
    elvodn  
       2016-03-03 16:57:41 +08:00
    @joye1230 Option->Save Place in Files between Sessions 这是功能, 不是 BUG.
    wenbinwu
        48
    wenbinwu  
       2016-03-03 16:58:11 +08:00
    告诉别人你会用 vim
    告诉别人你不会用 vim

    你选哪个
    chmlai
        49
    chmlai  
       2016-03-03 16:59:31 +08:00
    @Neytoph 大部分 IDE 都有 vim 绑定的
    zerofzt
        50
    zerofzt  
       2016-03-03 17:05:42 +08:00
    FF 也支持 vim 模式哦
    其实如果不玩强大的功能,单单学下 hjkl wb idxy q@这样就能应付日常了
    当然你要效率就去配置吧
    一键编译或者运行什么的挺舒服的
    语法高亮对于学习新语言很友好
    记得不要随便用别人的配置
    danmary61
        51
    danmary61  
       2016-03-03 17:53:10 +08:00
    省时间,防被坑。一旦给你一个陌生环境,你会 VIM ,直接开始干活,啥都不用做。不会?装这个,配那个,整一脑门子汗。
    magicdawn
        52
    magicdawn  
       2016-03-03 17:54:37 +08:00
    git commit 不指定 commit message 就弹出 vim 让你写 commit message
    不知道咋用你连提交都成功不了~所以再不喜欢还是要懂一些的~
    gimp
        53
    gimp  
       2016-03-03 17:58:52 +08:00
    用了 vim 会上瘾,根本停不下来
    xi4oh4o
        54
    xi4oh4o  
       2016-03-03 18:10:49 +08:00
    语言基础不好的话还是推荐先用 IDE ,会帮助你认识各种错误。
    语言熟练以后以后 vim 会提高你编码效率
    ibreaker
        55
    ibreaker  
       2016-03-03 18:15:22 +08:00
    当然要学
    dofy
        56
    dofy  
       2016-03-03 18:18:24 +08:00
    当然值得学 送入门教程 https://v2ex.com/t/250995#reply12
    O21
        57
    O21  
       2016-03-03 18:58:32 +08:00
    我觉得不值得。。 能写东西就好了
    cxbig
        58
    cxbig  
       2016-03-03 19:06:07 +08:00
    工具就是工具,用得顺手才有效率。是 Editor 还是 IDE 并不重要
    附言里提到的比较,我只能说,新装的 vim 和的 phpstorm 相比, phpstorm 的开发效率显然要高
    但是如果你对 vim 很了解,各种相关插件和配置都已备妥,操作也熟练,工作效率上相差并不大
    strahe
        59
    strahe  
       2016-03-03 19:07:22 +08:00
    个人觉得 vim 和 Arch 的学习曲线差不多吧,学会了用起来很爽而且很简单。
    cxbig
        60
    cxbig  
       2016-03-03 19:12:57 +08:00
    @magicdawn
    话说 CLI 下不只是 vim 的,用 nano 或 emacs 也可以。而且提交时用-m 直接写就好了,不用激活编辑器。
    nicevar
        61
    nicevar  
       2016-03-03 19:36:58 +08:00
    作为码农, vim 的基本使用还是要掌握,要不然有时候看着很着急,编辑个文本复制来复制去
    squallsdjl
        62
    squallsdjl  
       2016-03-03 19:39:16 +08:00
    作为一个设计师,我表示已经开始习惯,还是靠谱的
    asxalex
        63
    asxalex  
       2016-03-03 19:46:52 +08:00
    the best investment ever
    liko
        64
    liko  
       2016-03-03 19:47:47 +08:00
    天天用纯净 vim 撸代码 - -
    94kuso
        65
    94kuso  
       2016-03-03 19:50:30 +08:00
    学什么 VIM,Emacs 不比 VIM 要强大好用么?
    heganj
        66
    heganj  
       2016-03-03 20:02:34 +08:00
    好用,也没必要放弃 IDE ,因为主流的 IDE 都有 Vim 插件
    gpw1987
        67
    gpw1987  
       2016-03-03 20:27:56 +08:00
    这个貌似 linux 上 VIM 用的比较多,我 一开始学习的就是 VIM
    nasta
        68
    nasta  
       2016-03-03 20:28:07 +08:00
    我连浏览器都装 vim 插件...
    Alias4ck
        69
    Alias4ck  
       2016-03-03 20:41:20 +08:00
    @nasta 我的 chrome 也是唉瞬间觉得哪里都不想用鼠标咯
    yxjxx
        70
    yxjxx  
       2016-03-03 20:46:04 +08:00
    想学就去学,不要那么功利。

    私以为 拓宽自我边界 的事都值得去做。
    peterzky
        71
    peterzky  
       2016-03-03 20:48:28 +08:00
    先学 vim 的操作模式,然后 Spacemacs 走起
    magicdawn
        72
    magicdawn  
       2016-03-03 21:23:51 +08:00
    @cxbig vim 貌似是默认的~懂一点怎么移动就写个 commit message 就没去改~貌似是 EDITOR 环境变量 ?
    Neytoph
        73
    Neytoph  
    OP
       2016-03-03 21:30:58 +08:00 via iPhone
    @yxjxx 这话在理!谢谢!
    Neytoph
        74
    Neytoph  
    OP
       2016-03-03 21:33:05 +08:00 via iPhone
    @nasta
    @magicdawn 话说浏览器 vim 怎么使?用在何处啊?
    Neytoph
        75
    Neytoph  
    OP
       2016-03-03 21:35:00 +08:00 via iPhone
    @magicdawn @错了...不好意思...
    Jaylee
        76
    Jaylee  
       2016-03-03 21:35:45 +08:00
    千万要学 还要好好用
    bramblex
        77
    bramblex  
       2016-03-03 21:36:36 +08:00   ❤️ 1
    别人只会在乎你写出来了什么东西,没人在乎你用什么写的。
    woai110120130
        78
    woai110120130  
       2016-03-03 21:36:45 +08:00 via Android
    需要的时候再学
    Felldeadbird
        79
    Felldeadbird  
       2016-03-03 21:37:45 +08:00
    学 VIM 好处就是 PC 全平台几乎都没压力修改代码了。
    学不学其实影响不大。 我服务器很少会编辑文件的,我最常用就是 nano 了。
    abscon
        80
    abscon  
       2016-03-03 21:40:40 +08:00 via iPhone
    @Neytoph Firefox/Vimperator
    cxbig
        81
    cxbig  
       2016-03-03 21:41:29 +08:00
    @magicdawn 通常来说 Linux 下默认编辑器是 vi ,但是可以在 2 个层面修改:
    $ export VISUAL=vim && export EDITOR="$VISUAL" # bash/zsh 设置
    $ git config [--global] core.editor vim|emacs|nano # git 设置
    bramblex
        82
    bramblex  
       2016-03-03 21:45:51 +08:00
    @abscon vimperator 不如 pentadactyl 。
    TinW
        83
    TinW  
       2016-03-03 21:48:08 +08:00
    如果不会就不要学了。
    oreo
        84
    oreo  
       2016-03-03 22:00:29 +08:00
    讨论 vim 的话题总能上 hot
    onlyice
        85
    onlyice  
       2016-03-03 22:02:10 +08:00
    会基本的编辑操作就好了。。

    感觉有成熟 IDE 的领域就没太多并要用 Vim 。。
    Neveroldmilk
        86
    Neveroldmilk  
       2016-03-03 22:13:35 +08:00
    emacs 党自重。在 Linux 上混,必须学 Vi/Vim ,否则 CAT 那个界面恶心死你。
    lzjun
        87
    lzjun  
       2016-03-03 22:15:30 +08:00
    值得,推荐关注公众"每日一 Vim"
    ![vim]( http://7xqkjp.com1.z0.glb.clouddn.com/meiriyivim.jpg)
    theohateonion
        88
    theohateonion  
       2016-03-03 22:24:39 +08:00
    vim 不仅跨平台 还跨 ide 用 vim 的话可以少学很多 IDE 的快捷键
    crayhuang
        89
    crayhuang  
       2016-03-03 22:42:29 +08:00
    Java 开发,几度尝试 vim ,几度放弃,还是用 intellij 算了~~~唉
    hardware
        90
    hardware  
       2016-03-03 22:43:54 +08:00
    『最近经常要在服务器上编辑』
    这个还有得考虑么?
    wizardoz
        91
    wizardoz  
       2016-03-03 22:56:07 +08:00
    首先 VIM 是一个编辑器,不是一个 IDE 。
    某些语言(如 C++、 Java 等)使用 Emacs 或者 Vim 会略显吃力。
    但是 IDE 毕竟通常都是专用的,扩展能力很差。
    用 Emacs 的 org-mode 写文档,直接导出为 latex 文件然后编译为 pdf ,代码高亮爽的不要不要的。
    JamesPan
        92
    JamesPan  
       2016-03-03 23:32:26 +08:00
    @crayhuang 写 Java 不用 IDE 简直就是地狱模式😂
    yangxiongguo
        93
    yangxiongguo  
       2016-03-03 23:35:37 +08:00
    我也不用鼠标啊,我用触摸板[doge]
    KentY
        94
    KentY  
       2016-03-03 23:39:17 +08:00
    你这个问题其实不用来问, 过不了多久, 你这个问题会变成"vim 我一定要学会" 或"vim 不是人用的, 他们花那么多精力太不值得了"

    自己觉得有用就好了, 用别的编辑器一样的, 不用强迫自己.
    以前自己爱的东西也想让周围的人用, 后来发现, 好东西不要显示, 当别人不行的时候, 拿过来咔擦, 我的编辑器一下就弄好, 他们自己羡慕会下功夫去学的.
    eb0c6551
        95
    eb0c6551  
       2016-03-04 00:57:38 +08:00 via iPhone
    我有几百行的 vimrc 并且用 youcompleme ,我觉得不值得。

    因为除了 ssh ,平时使用 IDE 效率碾压 vim 几百条街。
    sethverlo
        96
    sethverlo  
       2016-03-04 01:23:32 +08:00 via iPhone
    楼上只是有人推荐跟 vim 一样好用的替代品 Emacs 而已,「 emacs 党自重」「 emacs 凑什么热闹」的人是什么心态……
    ryd994
        97
    ryd994  
       2016-03-04 04:22:27 +08:00
    用一段时间你就知道答案了
    喜欢的自然喜欢
    ruanyu1
        98
    ruanyu1  
       2016-03-04 06:06:18 +08:00
    第一个使用的编辑器是 vim ,我觉得也会是最后一个。因为真心找不到理由去换一个,并且已经退化到鼠标用不利索。这是我的 vim 配置,如果感兴趣,可以参考[bigvim]( https://github.com/ruanyl/bigvim)
    lightening
        99
    lightening  
       2016-03-04 07:25:19 +08:00
    这种事情自己学了才知道。服务器上编辑一下文件是挺有用的。至于要不要用作主力编辑器可以自己慢慢研究。

    就我个人来说,用了 2 年左右 VIM 后转 Emacs 了。然后又用了 2 年转 Sublime 了,现在用了 3 年多,挺满意的。
    onceyoung
        100
    onceyoung  
       2016-03-04 08:49:18 +08:00 via Android
    有 IDE 能用就先别学了,如果你每天面对服务器开发,学习一下吧,当然基本的操作还是要会啊。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:27 · PVG 05:27 · LAX 13:27 · JFK 16:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.