V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
sicongliu
V2EX  ›  Vim

VIM 有什么功能是 Sublime 无法实现的?

  •  
  •   sicongliu · Dec 24, 2015 · 28401 views
    This topic created in 3781 days ago, the information mentioned may be changed or developed.
    一直用 Sublime Text3 ,看到网上很多 VIM fans 想必 VIM 一定有什么独特功能是 ST 无法实现的。
    花了两天时间研究 VIM, 配置好 vimrc 装好一系列插件,发现 VIM 除了模式概念是其他编辑器没有的之外并没有什么秒杀 ST 的地方。反倒是 ST 有很多比 VIM 舒服的地方比如:

    ST 速度奇快,不装插件的 VIM 在 mac 下都没有 ST 快,装了一大堆插件的 VIM 就更没法比了.
    ST 开箱功能齐全, CRTLP, CTRL+D 多选等功能虽然 VIM 可以通过插件实现但是不如 ST 原生的顺手.
    ST 插件管理 package control 比 VIM 的 vundle 更加直观方便.
    感觉 ST 搭配一些插件和可定义快捷键并不比 VIM 的命令模式差,更何况 ST 自己也有命令模式.
    ST 在 mac 下对 trackpad 和鼠标支持很平滑,在 mac 下其实多用用 trackpad 并不影响效率因为 trackpad 离键盘区域很近。
    169 replies    2016-03-03 17:21:10 +08:00
    1  2  
    ncisoft
        1
    ncisoft  
       Dec 24, 2015 via Android
    窗口切分 ST 如何?
    sinxccc
        2
    sinxccc  
       Dec 24, 2015
    ssh 在远端跑。
    msg7086
        3
    msg7086  
       Dec 24, 2015 via Android
    系统自带。
    免费开源。
    好像没了。
    sicongliu
        4
    sicongliu  
    OP
       Dec 24, 2015
    @sinxccc SSH 上去不就改几个参数吗 nano 就够了,难道真要 ssh 去写大段代码?
    ncisoft
        5
    ncisoft  
       Dec 24, 2015 via Android
    ST 怎么配合神器 tmux ?
    sinxccc
        6
    sinxccc  
       Dec 24, 2015
    @sicongliu 至少我目前主要的开发都在 ssh 进去的机器上。

    不过我是 Emacs 用户…
    guoqiao
        7
    guoqiao  
       Dec 24, 2015
    1. 熟悉后, 文本操作得心应手行云流水, 有一种上瘾的感觉.
    2. 几乎所有 Linux 发行版都自带, 可以在服务器终端中运行, 因此几乎是服务器远程维护的必选.

    在桌面端, ST 确实表现优异且省心. 但是 Vim 能在终端中运行, 免去了你切换工具的麻烦.
    Ansen
        8
    Ansen  
       Dec 24, 2015
    试试打开 100M 的文本文件
    sicongliu
        9
    sicongliu  
    OP
       Dec 24, 2015
    @Ansen VIM 开 100m 的文件还真没 sublime 快
    KentY
        10
    KentY  
       Dec 24, 2015
    lz 提到了"秒杀", 我想功能上的都不能叫秒杀. 我能想到的就一个, 所有常见的 Linux 发行版, 缺省安装好, 有多少 vim 已经装上了, 有多少 ST 已经装上了.

    我用 vim 作为主(唯一)编辑器 12 年, 我没用过 ST, 所以没有发言权来做功能上的比较.

    我只做过一次比较,还是很偶然的. 这是我 2013 年曾经发过的一封 email 内容:

    =================
    刚才在我同事电脑前( win7 ) 在他的 sublime text2 打开了一个文件,格式很简单,就一行,巨长的一行,内容就是<option
    value="xxx">yyy</option>,然后不同的 xxx,yyy 值循环这个格式。

    他想把他变成每个<option></option>一行。然后不知道按了什么,等了 2,3 秒所有</option>都高亮了,又按了什么机器就不动了。最后强行关闭编辑器。

    我说我试试,就在 vim 里也打开那个文件,就:s 替换 /option>后面加个\r ,刷一下就替换好了, G 一下一看, 7 万 6 千多行。

    看来那个编辑器的 multi-selection 在视频里看着 cool ,用起来不行啊.

    不知道是不是他电脑当时不知怎么有问题了还是就是编辑器的问题。有兴趣有 sublime text 的可以试试。呵呵。
    =================

    @sicongliu 这么绝对吗? 我没用过 sublime, 不敢说, 但 vim 也有办法加载文件很快.
    UBER
        11
    UBER  
       Dec 24, 2015 via iPhone
    问这种问题的根本就不会用 vim
    aheadlead
        12
    aheadlead  
       Dec 24, 2015
    有时候没条件给你用图形界面……
    msg7086
        13
    msg7086  
       Dec 24, 2015   ❤️ 2
    @KentY 总结成一句话。功能越少速度越快。
    Sublime 不是给你拿来给一个巨长的一行加换行用的。
    ( vim 也不是。

    这时候你需要 sed 。

    另外打开大文件的话试试 emeditor ,最高支持 248GB 的文件,而且速度极快。
    haroldwu
        14
    haroldwu  
       Dec 24, 2015
    @sinxccc 用 tramp 嗎?
    chinawrj
        15
    chinawrj  
       Dec 24, 2015
    我想无界面的情况下通过远程终端编辑一个文件。
    ruchee
        16
    ruchee  
       Dec 24, 2015
    Vim 不需要理由,也不屑于比较,用就是了,谁用谁知道。(用 Vim 搞定一切开发编码任务的多年 Vim 用户飘过)
    nozama
        17
    nozama  
       Dec 24, 2015 via iPhone   ❤️ 2
    我的原则与多数人相反:能用鼠标完成的,就不用键盘;
    gimp
        18
    gimp  
       Dec 24, 2015
    世界上只有三种编辑器, vim , emacs ,其它编辑器
    DiagnosticError
        19
    DiagnosticError  
       Dec 24, 2015   ❤️ 23
    帮助乌干达儿童 ...
    OnceMore2020
        20
    OnceMore2020  
       Dec 24, 2015
    命令行友好
    wweir
        21
    wweir  
       Dec 24, 2015 via Android
    随手拿起一台服务器都可以使用 vi
    vi 已经不能当成编辑器来看了,他是一种操作方式。 vi 家族的力量不是盖的
    sinxccc
        22
    sinxccc  
       Dec 24, 2015   ❤️ 1
    @haroldwu 之前 tramp 有个丢失 ssh session 就会卡死整个 emacs 的 bug ,用了一段时间放弃了…不知道现在修好了没有。

    现在主要用 mosh 和 tmux ,适应了之后就没再继续换。
    582033
        23
    582033  
       Dec 24, 2015
    我给你台服务器,一个 ssh 账号你用一个 Sublime 看看
    582033
        24
    582033  
       Dec 24, 2015
    @sicongliu 有些公司是提倡在内网远程开发的;每个人一个账号,好处就是每个人的机器不需要配置很高,并且开发环境统一,每天不用关机第二天开机再从头打开一遍所有的项目。
    Mithrandir
        25
    Mithrandir  
       Dec 24, 2015
    淘汰猪一样的队友
    markx
        26
    markx  
       Dec 24, 2015
    我也有类似的问题,但是没找到答案,所以现在混着用。
    yangxin0
        27
    yangxin0  
       Dec 24, 2015
    @sinxccc 干嘛不用 tramp mode
    yangxin0
        28
    yangxin0  
       Dec 24, 2015
    @KentY 看起来 cool ,尼玛就是行数多了就坑了, 还是 regex 好用
    shoaly
        29
    shoaly  
       Dec 24, 2015   ❤️ 1
    混用 vim 和 sublime, 大部分在 sublime, 碰到有些文本处理的时候 还是会心心念念 vim 的好, 到 ssh 下面之后又会想 sublime 的好
    learnshare
        30
    learnshare  
       Dec 24, 2015
    在命令行下使用,这一点就完胜了
    hging
        31
    hging  
       Dec 24, 2015
    @KentY 你说的两个不是一个功能. vim 里的是替换 ST 里也有同样的替换功能. 两者速度没什么差别.
    airycanon
        32
    airycanon  
       Dec 24, 2015
    @sicongliu 还真的有 ssh 写代码的,我们公司之前的开发方式就是这样。
    zhuangzhuang1988
        33
    zhuangzhuang1988  
       Dec 24, 2015
    作死+浪费时间功能.
    yangtukun1412
        34
    yangtukun1412  
       Dec 24, 2015
    不能算是功能,但我在 ubuntu 下 发现 sublime 对 fontlink 的支持不太好,所以就转到 vim 了。
    EXE
        35
    EXE  
       Dec 24, 2015
    遍地都是
    songco
        36
    songco  
       Dec 24, 2015
    vi/vim unix/linux 上都有, 基本操作还是需要熟悉的.

    另外打开大文件我好多编辑器都试过, vim 几乎是唯一可以用的, 我当时查看的文件有几 G....当然这个并不是什么优点, 因为场景太少.
    qian19876025
        37
    qian19876025  
       Dec 24, 2015
    终端如何运行?
    linux40
        38
    linux40  
       Dec 24, 2015 via Android
    没装显示服务器。
    mulog
        39
    mulog  
       Dec 24, 2015
    这两个我想是很多人都很喜欢的工具 至少我是两个都在用
    楼主为什么非要来引战 -_-
    Numbcoder
        40
    Numbcoder  
       Dec 24, 2015
    我猜待会儿肯定有人会说用 Vim 是纯粹为了装逼
    GHfan
        41
    GHfan  
       Dec 24, 2015
    当需要开机配置一台机器的时候就秒杀了,毕竟 st 还没装,哈哈哈哈,我说的是 vi
    am241
        42
    am241  
       Dec 24, 2015
    @KentY st 也可以 ctrl+h 写正则,他应该是 alt+f3 。真正好用的时候是 ctrl+alt+l
    amaranthf
        43
    amaranthf  
       Dec 24, 2015
    用 vs 的默默飘过……感觉码代码还是得靠 ide ,纯粹的编辑器智商终究是不行。
    lance26
        44
    lance26  
       Dec 24, 2015
    @KentY 7 万多多选肯定卡啊。他应该查找替换,只能说方法没用对
    behappy
        45
    behappy  
       Dec 24, 2015
    sublime 可以在终端用吗
    markzar
        46
    markzar  
       Dec 24, 2015
    用 vim 用习惯了, sublime 没怎么用过。前一阵子试了下 sublime 最后还是换回 vim 了,大概也就是习惯了。 vim 还没有什么硬伤让我再去习惯另一个文本编辑器。
    haozhang
        47
    haozhang  
       Dec 24, 2015   ❤️ 2
    我想帮助乌干达儿童。
    bramblex
        48
    bramblex  
       Dec 24, 2015
    你可以轻而易举的把任何命令行工具和 vim 组合来用
    simpx
        49
    simpx  
       Dec 24, 2015
    @sicongliu 绝大多数代码是 ssh 上去写的,极少数是本地 shell 里写。。
    dreamtrail
        50
    dreamtrail  
       Dec 24, 2015
    用 vim 搞定一切文本编辑的路过, sublime2 也试过, 但没发现有什么特别之处
    focux
        51
    focux  
       Dec 24, 2015
    使用 vim 可以完全不用鼠标,完全。
    Wangxf
        52
    Wangxf  
       Dec 24, 2015
    最大的优势,也是对我来说唯一的优势就是服务器上可以用,要不然谁懒得用啊,难用死了,反正这边用 sublime ,服务端想不用 vim 都不行,还可以 emacs ,不过都是一个样儿,反正系统自带不用 vim 用啥?
    rubytek
        53
    rubytek  
       Dec 24, 2015
    @582033 我们组都是用 sublime/notpad++的 sftp 插件远程编辑服务器上的代码的。。。还有我觉得要把 vim 和 vi 分开来看,系统自带 vi 不等于自带 vim ,我只用 vi 改改服务器上的小文件不意味着我主用 vim +插件写大规模代码。
    wizardoz
        54
    wizardoz  
       Dec 24, 2015   ❤️ 1
    vim 可以在 Linux 系统下接受中文输入!
    spww
        55
    spww  
       Dec 24, 2015
    vim 最大的价值就是几乎所有的 linux 发行版都原生自带,并且与 shell 配合的天衣无缝。
    iniwap
        56
    iniwap  
       Dec 24, 2015
    难用?
    donghao
        57
    donghao  
       Dec 24, 2015
    vim 还是很方便的
    sospartan
        58
    sospartan  
       Dec 24, 2015
    你 .....居然敢问这种大逆不道的问题....
    ncisoft
        59
    ncisoft  
       Dec 24, 2015 via Android
    骗铜币的,鉴定完毕。再送一次铜币
    zhjits
        60
    zhjits  
       Dec 24, 2015 via Android
    都是图灵完全的机器有什么功能不能实现
    imn1
        61
    imn1  
       Dec 24, 2015
    最重要一点肯定是不依赖 DE
    firebroo
        62
    firebroo  
       Dec 24, 2015
    帮助乌干达儿童 ...
    SonicY
        63
    SonicY  
       Dec 24, 2015 via Android
    对于人肉 IDE 来说任何编辑器都一样
    oska874
        64
    oska874  
       Dec 24, 2015
    st 对中文支持不好。
    yanwen
        65
    yanwen  
       Dec 24, 2015
    @haozhang 一下子笑了。。
    sudoz
        66
    sudoz  
       Dec 24, 2015
    @SonicY "人肉 IDE"...笑喷了
    matthewz
        67
    matthewz  
       Dec 24, 2015 via iPhone
    有些公司靠 ssh 到远端开发的
    Wenwei
        68
    Wenwei  
       Dec 24, 2015
    两个都用,不过使用 vim 频率明显高于 sublime ,在终端打开即可使用。
    xuwenhao
        69
    xuwenhao  
       Dec 24, 2015
    所有机器都预装 sublime 做不到
    bramblex
        70
    bramblex  
       Dec 24, 2015
    @zhuangzhuang1988

    常年都是项目所有人用 webstrom ,我用 vim
    项目所有人都用 pycharm ,我用 vim
    项目所有人都用 rubymin , 我用 vim
    如果项目全用 vs ……那我绝对会用 vs ,然后用 vim 编辑代码……

    这世界上只有三种文本编辑器, vim / emacs / 其他。
    bramblex
        71
    bramblex  
       Dec 24, 2015
    @rubytek 现在自带的 vi 都是软链到 vim 上,或者是 vim-tiny ……
    bramblex
        72
    bramblex  
       Dec 24, 2015
    @zhjits 但是 vim 本身就是图灵完全啊, sublime 不是
    hackevin
        73
    hackevin  
       Dec 24, 2015
    虽然我不是开发,虽然我两个都用,但我就看不惯你们这群开发狗因为这种事互撕。

    st 装个 sftp 插件,跟你 ssh 上服务器去写代码有区别?
    SpicyCat
        74
    SpicyCat  
       Dec 24, 2015
    一个文本编辑器而已,喜欢啥就用啥,目的是提高效率,不要本末倒置。
    我 2012 年入的 VIM 坑,后来知道 Sublime 的时候, VIM 已经算比较熟练,就没有换 Sublime. 但是公司的新人我都会推荐用 Sublime ,上手难度比 VIM 简单太多。
    如果一定要说什么事 VIM 能做,而 Sublime 不能做,那就只能是 VIM 能在终端运行,而 Sublime 不行了吧。

    顺便说一句,并不是所有人 ssh 到服务器上就只为改几个参数。如果是服务器管理员,熟练掌握至少一种终端文本编辑器是必要技能。
    bramblex
        75
    bramblex  
       Dec 24, 2015
    @SpicyCat

    +1 继续用 vim 只是因为习惯了,新人只推荐简单实用的东西
    iwege
        76
    iwege  
       Dec 24, 2015
    vim 是 vim 神教的圣物, st 只是代码狗的一个工具罢了。
    Dlad
        77
    Dlad  
       Dec 24, 2015
    server 自带随时用
    .重复一组操作
    ybh37
        78
    ybh37  
       Dec 24, 2015
    难道不是装~
    griffinqiu
        79
    griffinqiu  
       Dec 24, 2015
    问这种问题的根本就不会用 vim
    ipeony
        80
    ipeony  
       Dec 24, 2015
    炒股~
    ibolee
        81
    ibolee  
       Dec 24, 2015
    VIM 是免费的, VIM 是免费的, VIM 是免费的,重要的事情要说三遍。
    klmd99
        82
    klmd99  
       Dec 24, 2015
    sublime 不要钱也能用,真相就在那里
    KentY
        83
    KentY  
       Dec 24, 2015 via iPhone
    关于前面说我那个例子用法不对我就不评论了,因为我没有 sublim 使用经验。
    有点想提, vim 功能很强,纵向横向都强,当密集使用十几年(不光使用,也写插件等)后仍然有些功能是比较陌生的,仍然某天会学到个让人惊喜的小技巧。我觉得这个感觉挺好的。 我很喜欢这个编辑器,后悔没早使用。 sub 应该也不差,因为拿来和 vim 比较的都不差。主要看习惯吧。
    initialdp
        84
    initialdp  
       Dec 24, 2015
    我就是进来静静地看大家装逼。
    RqPS6rhmP3Nyn3Tm
        85
    RqPS6rhmP3Nyn3Tm  
       Dec 24, 2015
    vim 的 key binding 特好用
    RqPS6rhmP3Nyn3Tm
        86
    RqPS6rhmP3Nyn3Tm  
       Dec 24, 2015
    就是学习成本高了些,现在还是直接用 IDE 了,不想折腾……
    zhouquanbest
        87
    zhouquanbest  
       Dec 24, 2015
    因为在各种 IDE 各种编辑器上 我都可以用 Vim 模式
    所以我用 Vim
    bramblex
        88
    bramblex  
       Dec 24, 2015
    是不是没人知道 vim 除了是文本编辑器以外还是一门动态语言 vimscript 的解释器?
    paperplane1230
        89
    paperplane1230  
       Dec 24, 2015
    抖机灵的回答是,帮助乌干达的可怜儿童。
    我觉得用 vim 重在编辑模式,提高开发效率,至于论功能,肯定还是其他的编辑器或者 ide 更全面强大。所以在 st 或者 ide 里用 vim 模式编辑是坠吼的
    zander
        90
    zander  
       Dec 24, 2015
    哪儿都有。
    matrix67
        91
    matrix67  
       Dec 24, 2015
    matrix67
        92
    matrix67  
       Dec 24, 2015
    这个 undotree 不错吧。
    matrix67
        93
    matrix67  
       Dec 24, 2015
    彩虹分割


    对齐
    zhicheng
        94
    zhicheng  
       Dec 24, 2015 via Android
    还记得大明湖畔的 TextMate 吗?
    Arnie97
        95
    Arnie97  
       Dec 24, 2015
    宗教功能…

    至于其他的, vimscript 图灵完全,然而 Sublime 集成了 Python 解释器。
    flyaway
        96
    flyaway  
       Dec 24, 2015
    @matrix67 求问彩虹分割是怎么做到的……
    bramblex
        97
    bramblex  
       Dec 24, 2015   ❤️ 1
    @Arnie97

    当你打开了 vim 以后,就相当于打开了 vimscript 的 repl ……差距不是一点半点……
    bramblex
        98
    bramblex  
       Dec 24, 2015   ❤️ 1
    @Arnie97

    顺便, vim 也集成了 python / ruby / lua 的解释器。
    test0x01
        99
    test0x01  
       Dec 24, 2015 via Android
    Vim 随时随地 这比什么都重要
    gmgardus
        100
    gmgardus  
       Dec 24, 2015 via iPad
    @nozama 为什么 详细说说
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2495 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 264ms · UTC 10:02 · PVG 18:02 · LAX 03:02 · JFK 06:02
    ♥ Do have faith in what you're doing.