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

请教一下 什么让你放弃 vim 改用 neovim

  •  
  •   chy373180 · 2016-05-05 11:12:52 +08:00 · 29145 次点击
    这是一个创建于 3106 天前的主题,其中的信息可能已经有所发展或是发生改变。

    除了 vim 本身的代码重构, api 优化,还有什么改进, 这些对我们的使用体验有什么提升

    42 条回复    2023-01-18 11:05:54 +08:00
    coolair
        1
    coolair  
       2016-05-05 11:15:27 +08:00 via Android
    没听过 neovim
    TankyWoo
        2
    TankyWoo  
       2016-05-05 11:16:50 +08:00
    前些日子试了下,没能感受出实际差距,并且 vim 最近的 release 更新都很给力。

    希望有懂的小伙伴能对比讲解下差异性。
    BigPa
        3
    BigPa  
       2016-05-05 11:30:34 +08:00 via iPhone   ❤️ 1
    因为 ycm ,从 neovim 退回到了 vim🌚
    chy373180
        4
    chy373180  
    OP
       2016-05-05 11:39:04 +08:00
    @BigPa neovim 不能用 ycm 么 好吧 那就这点来说 压根不能换到 neovim 。。。
    hei1000
        5
    hei1000  
       2016-05-05 11:46:30 +08:00 via Android
    neovim 还处于初期开发阶段呢, 1.0 出来了再说
    FrankFang128
        6
    FrankFang128  
       2016-05-05 12:26:48 +08:00 via Android
    复制粘贴
    Droplete 完爆其它自动补全
    EchoWhale
        7
    EchoWhale  
       2016-05-05 12:28:53 +08:00 via Android
    装了 5 分钟,然后卸了
    mind3x
        8
    mind3x  
       2016-05-05 12:34:26 +08:00
    最开始是因为这是个 codebase 清理版的 vim
    后来发现已经自带了 golang , json 之类的 syntax ,就继续用了
    congeec
        9
    congeec  
       2016-05-05 12:35:23 +08:00   ❤️ 1
    neovim 主要来说对开发者友好
    等着吧, neovim 不会让你放弃 vim , neovim 的插件会让你放弃 vim
    Ge4Los
        10
    Ge4Los  
       2016-05-05 12:37:23 +08:00
    据说速度快,目前还没体验出来。
    而且已经有一大波支持 neovim 异步特性的插件。
    SpicyCat
        11
    SpicyCat  
       2016-05-05 12:43:08 +08:00
    neovim 才几年,哪那么容易替换 vim 。
    这不是第一次有项目声称要替换 vim ,不过我还是比较看好 neovim 的,因为开发者中有我喜欢的 vim 插件作者。
    markx
        12
    markx  
       2016-05-05 12:44:13 +08:00
    我倒是没有觉得 neovim 有什么特别好的地方, 不过那个 true color 支持还挺好的。

    另外 @chy373180 neovim 用 ycm 完全没问题。 不知道他为什么要那样说来误导人。
    chemzqm
        13
    chemzqm  
       2016-05-05 13:06:13 +08:00   ❤️ 4
    neovim 已经很稳定了,我用了几个月,发现过几个问题,提交给社区基本都很快处理了。
    neovim 的主要优势:
    异步插件,例如 neomake , 还有我做的 redismru.vim ,可以避免同步的卡顿
    内置 terminal ,完全不再需要 tmux (需要一些配置或者写插件)
    支持 meta key mapping ,可以让你拥有更多的快捷键,例如我在 iterm 把 ⌘s 映射为 ⌥s ,然后配置 vim 映射 ⌥s 到 :wa, 就可以 ⌘s 保存文件了。
    支持 true color , 让你的终端 vim 跟 gvim 一样的好看
    自持鼠标事件(终端 vim 不支持 terminal 鼠标事件),包括点击滑动,触摸板也能轻松操作
    支持 messagepack 接口异步通讯,可以使用其它语言与 neovim 进行通讯。

    使用 neovim 没必要说是放弃 vim ,我使用 neovim 打开包含很多 data-url 这种长字符串 css 文件时会很卡,这时候我就用 vim 去编辑。 如果是长期使用 macvim/gvim 这种,不太使用终端的开发,切换成本还是不低的。
    Numbcoder
        14
    Numbcoder  
       2016-05-05 13:06:27 +08:00
    @FrankFang128 Droplete 是什么,搜不到?
    anying
        15
    anying  
       2016-05-05 13:11:10 +08:00 via Android
    @Numbcoder 应该说的是 deoplete
    n6DD1A640
        16
    n6DD1A640  
       2016-05-05 13:13:36 +08:00
    很少在终端用 vim 很不习惯。。如果有 GUI 可以试下。
    Ge4Los
        17
    Ge4Los  
       2016-05-05 13:17:21 +08:00
    @Numbcoder 他写错了,是 deoplete ,异步补全插件。
    wsdjeg01
        18
    wsdjeg01  
       2016-05-05 13:38:57 +08:00 via Android   ❤️ 1
    https://github.com/Neovim-cn/Neovim-cn.gitgub.io/blob/master/translation/vim_diff.md
    这是官方 diff 文件,我做的翻译。
    另外 neovim 和 vim 的区别在于, neovim 比较容易接受新的特性。
    主要让我放弃 vim 是很好的异步补全插件 deoplete.nvim ,更好的多线程插件管理工具 dein.vim . 更加容易理解的 job control 模式,更加合理的测试框架,更好的 8bit 通讯模式, buildedin terminal.以及 rplugin 支持
    morefreeze
        19
    morefreeze  
       2016-05-05 13:52:38 +08:00
    装了一晚上,也是删了。因为懒。一本正经的理由是:
    一是不想再折腾一遍了,因为有些插件放 neovim 不兼容,要改
    二是 shell 那功能然后用 ctrl-z 也能解决
    Testalias
        20
    Testalias  
       2016-05-05 14:02:59 +08:00
    歪个楼,你们有谁认真读过 Vim 的代码没?我觉得很难读懂。
    timothyye
        21
    timothyye  
       2016-05-05 14:03:09 +08:00
    用了一下 neovim ,发现有些插件不兼容,于是又换回 vim 了……
    Havee
        22
    Havee  
       2016-05-05 14:24:45 +08:00
    什么时候 centos/debian 等发行版内置 neovim 的时候,再来讨论吧
    这货也就运维用的溜
    theJian
        23
    theJian  
       2016-05-05 16:01:22 +08:00
    一直在关注, 从未打算用
    BigPa
        24
    BigPa  
       2016-05-05 16:11:25 +08:00
    @chy373180 不是不能用,是会严重拖慢启动速度(启动要 3 秒)
    yuuko
        25
    yuuko  
       2016-05-05 17:39:35 +08:00
    @chemzqm 同样的配置,你用 vim 打开不卡么?以前我 vim 打开一个压缩成一句的 js 文件的时候,直接卡得动一下,等几秒
    yuuko
        26
    yuuko  
       2016-05-05 17:41:12 +08:00
    换到 neovim 日常开发使用几个月了
    fy
        27
    fy  
       2016-05-05 18:05:17 +08:00
    @chy373180 - - 说起来 ycm 卡的要死……我用来写 python ,在自己辣鸡 vps 上试了一下 报警了
    thinker3
        28
    thinker3  
       2016-05-05 18:09:50 +08:00
    @chemzqm 不能复制路径,命令模式自动完成区分大小写
    htfy96
        29
    htfy96  
       2016-05-05 18:17:20 +08:00 via Android
    用 nvim 半年了,捐了 5 刀。插件不兼容多半是用的插件太老了已经失去维护了,或者已经有 nvim 版替代了,还有 neovim 有一项专门的任务就是确保和 ycm 的兼容
    Reficul
        30
    Reficul  
       2016-05-05 20:20:17 +08:00   ❤️ 1
    @Testalias
    据说是这样的,所以主要维护者就是作者本人。

    内核恐慌里有一期这么说的,要是作者出现意外, VIM 项目就很难维护了。
    ensonmj
        31
    ensonmj  
       2016-05-05 21:00:59 +08:00
    @chemzqm tmux 最主要的作用不是分屏,是 ssh 断线恢复,这点上来说 nvim 取代不了
    7jmS8834H50s975y
        32
    7jmS8834H50s975y  
       2016-05-05 21:12:33 +08:00
    @ensonmj Cross session cache 应该不是很难.
    tracyone
        33
    tracyone  
       2016-05-05 21:15:14 +08:00 via iPhone
    并没有放弃,但也偶尔用 neovim .YCM 在 neovim 可以用啊
    chemzqm
        34
    chemzqm  
       2016-05-06 10:00:25 +08:00
    @ensonmj 确实,不过我都是 key 登录的,查看 log 也是直接用脚本命令 tail ,不太需要 ssh 断线重连

    @yuuko 会,但是我配置了 vim 下禁用一些插件,所以好些。你说的这种单行 js 文件卡是因为 vim 一直以来语法高亮的正则都不是很高效,推荐打开方式是 `vim -U none 文件名`
    yuuko
        35
    yuuko  
       2016-05-06 12:01:14 +08:00
    @chemzqm mac 下的终端还是没有 Ubuntu 下的 gnome 终端给力啊,同样的配置, mac 的 neovim 明显没有 Ubuntu 下的效率高,对比就是同样一个文件打开, mac 下面上下移动明显感觉比 Ubuntu 慢很多,这是这一个月 mac 下用 neovim 的感受,如果没在 Ubuntu 下用过可能不会有这种感觉
    chemzqm
        36
    chemzqm  
       2016-05-06 18:53:13 +08:00
    @yuuko neovim 打开大一点的 ruby 文件光标移动会很慢,但是 js 的不会慢,用 macvim 打开也不会慢,不过我很少用方向键,所以还好。
    7jmS8834H50s975y
        37
    7jmS8834H50s975y  
       2016-05-07 10:53:12 +08:00 via Android
    wsdjeg: I see this patch two years ago.but why vim do not merge this feature?I do not see any disadvantages

    Shougo: It has been on the todo list in 3 years ago. It is the Vim disadvantage...

    that is why I use neovim instead of vim
    7jmS8834H50s975y
        38
    7jmS8834H50s975y  
       2016-05-08 00:16:24 +08:00
    我已经默认开始使用 neomake 了,虽然我的 syntastic fork 版本 也支持 gradle maven, 但是 明显的 neomake 要快很多哦.
    KentY
        39
    KentY  
       2016-05-13 21:40:34 +08:00
    如果我 10+年用下来的 vim 配置, 自己写的脚本插件, 别人的插件 换到 neovim 都可以立马用, 那我就换...

    neovim 有很多特性还是很吸引人的. 上面都说了, 就不赘述了.
    timothyye
        40
    timothyye  
       2016-05-23 12:17:14 +08:00
    @chy373180 我最近刚切换到 neovim , YCM 是没问题的
    hbliu
        41
    hbliu  
       2018-03-06 23:50:21 +08:00
    1. VIM 的配置 Neovim 基本是完全兼容的;
    2. 可以用 `Alt` 做快捷键映射;
    3. Neovim 内置 terminal 的支持, 可以借此实现很多高级的功能, 如直接在 vim 窗口中实现类似 IDE 中的调试功能: http://hiberabyss.github.io/2018/02/28/neovim-gdb-integration/
    gowk
        42
    gowk  
       2023-01-18 11:05:54 +08:00 via iPhone
    @congeec 牛逼啊老哥,预言帝
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3071 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 13:40 · PVG 21:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.