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

讨论帖, IDE 相较于 vim 有哪些优势

  •  
  •   symons · 8 天前 · 6741 次点击

    讨论帖子,非引战贴,个人认为 IDE 学习成本太高。所以想了解下,各位朋友,IDE 有哪些很吸引你们的功能?

    154 回复  |  直到 2017-09-20 17:15:58 +08:00
    1  2  
        101
    clino   7 天前
    能干活就行了...达到目的最重要
    ---
    其实我是来翻页的
        102
    CtrlSpace   7 天前
    恕我直言,公司近百个程序员,没见过谁用 vim 写代码?
    你们是活在 20 年前???
        103
    fy   7 天前
    @symons

    拿 Python 来说:
    1. 很大一个好处就是点点点就行啊,不用背快捷键就用的很 High。另一个是环境一致,你去同事那临时帮忙体验基本相同。

    2. 按住 ctrl 直接点各种类、变量跳到其定义(当然 vim 也基本能实现这个)

    3. 绝大部分 warning,直接光标停上去 alt + enter,给出修复建议,包括但不限于拼写错误、PEP8、docstring 少写参数、类型不匹配、自动转 static/classmethod、父类 NotImplementError(典型场景虚基类) 等等。

    4. 完善的类型推导,目前看来除了对 3.6 的部分新 TypeHint 资瓷还有问题之外,其余情况的推导近乎完美,极大提升效率。

    5. refactor 重构功能:文件、类改名自动帮忙改所有引用项,删除的时候还有引用检查帮你去引用。现在看来我当年 vim 开发,重构时候切到 shell 用 ack-grep 一个一个改堪称刀耕火种。

    6. 图形界面确实是好用啊!用不常用功能的时候成本低了太多,常用功能可以和终端一样配置快捷键啊。

    7. 说出来你可能不信,jedi、ycm 什么的比 PyCharm 卡顿多了……
        104
    Hanggi   7 天前
    有鼠标
        105
    bumz   7 天前
    @hellohello123 #74 IDE 和文本编辑器是不同的东西。IDE 不一定是文本编辑器。所以也不存在 IDE 是文本编辑器的超集的问题。

    虽然多数 IDE 都带有部分文本编辑器的功能,但是相比专业的文本编辑器,其功能还是太弱。我举的例子只是一个最基本的例子

    Sublime Text 的文本编辑功能强大到,我可以直接用它来做一次性的数据预处理

    IDE 行吗?

    而 Vim 是丝毫不逊色与 Sublime Text 的。
        106
    Joyreece   7 天前
    IDE 的最大优势就是各种工具整合在一起,一定程度是“开箱即用”,上手快相对方便,学习成本相对低;
    vim 的最大特点是体积非常小没有 GUI,在连接远程服务器的时候简单的改改配置文件什么的 vim 就比 IDE 方便太多了;
        107
    xlui   7 天前 via Android   ♥ 2
    @Joyreece #106 服务器:IDE ?不存在的!
        108
    quinoa42   7 天前
    Vim 除了不能 DEBUG 之外,大多数的 IDE 功能都可以通过插件实现

    @ipwx

    使用了 deoplete+jedi

    至于前面有人提到的语法检查,建议试试 Ale
    至少在写 python 的时候,(neo)vim+(pt)ipython 的组合没让我感到有多么不便
        109
    Joyreece   7 天前
    @xlui 这个确实, 尤其是海外的服务器, 那感人的延迟特蛋疼
        110
    Norie   7 天前
    一个效率,一个情怀
        111
    Technetiumer   7 天前
    我使用 Emacs 操作系统!然后在 Emacs 操作系统中安装了 Spacemacs 这个 vim,并且使用混合模式,同时用 Emacs 和 vim 两种键位

    另外 Atom-IDE 算 IDE 还是编辑器
        112
    markmx   7 天前
    有时候 玩个 IDE 都能玩一天.
    还不如那个简单的编辑器 用就好了.
        113
    falcon05   7 天前 via iPhone
    @xlui 我知道啊,就是太麻烦了
        114
    NoAnyLove   7 天前
    @fy PyCharm 运行速度和 Android Studio 相比如何?两者都是 JetBrains 家的产品。PyCharm 功能强大我承认,但是比 jedi 和 YCM 卡我真不信。NCM+Jedi 路过
        115
    xingzhi1990   7 天前
    @NoAnyLove 我装 VS2017 除了 Linux 和游戏之外的都全部安装, Android Studio 相比 VS 更吃内存。不过我的配置比较足,16G 内存,3T 机械硬盘,500G SSD。做的项目光编译就近一个小时,还要装分布式编译的工具~
        116
    billwang   7 天前
    感觉 vim 就和当年的五笔一样,快速但是学习成本高一些。不过现在大部分人都开始用拼音了不是吗?
        117
    fy   7 天前
    @NoAnyLove 这不清楚 我没认真用过 AS。你是应该想说 pycharm 比 jedi ycm 卡吧?描述正好反了。

    不过这东西应该比较主观,我没做过精确的测试。但 ycm 给我的主要印象就是难配和超卡,反正既然 PyCharm 开箱即用的话,你不妨试一下呗?
        118
    chn9207   7 天前
    第一次听说 IDE 学习成本高。。。
        119
    582033   7 天前 via Android
    @bigzhu 上了年纪,看见这种月经 /日经的,拿各种东西跟我大 vim 对比的帖子,真的提不起兴趣来撕了。

    你走你的阳关道,我走我的独木桥。
        120
    NoAnyLove   7 天前
    @fy Python 的 IDE 一直用的 PyDev,相比之下比 Android Studio 快了不止一个数量级,特别是启动的时候。嗯,描述错了,想说的是“ jedi 和 YCM 比 PyCharm 卡我真不信”。

    YCM 的配置确实不太友好,特别是 Windows 下太麻烦了,要下载 MSVC,既然 MSVC 都下载了我干嘛不直接用。Linux 下还好,如果只用支持 Python,基本上都能简单编译通过。如果用 NeoVim 的话推荐用 NCM+Jedi,不用编译,使用很流畅,对 Windows 的支持也不错,内存占用也很少( Windows 下算上 GUI 和各个 Python 子进程也就 100M 左右),不过感觉在 Linux 下更加丝滑。

    嗯嗯,打算试试 PyCharm 和 VS Code,毕竟这两个都大名鼎鼎而且用户也不少,应该也很好用。
        121
    PythonAnswer   7 天前
    jedi 单用一点也不卡啊。流畅的一塌糊涂。pycharm 每个项目索引一次好烦。
        122
    liuxu   7 天前
    用 vim 做开发 php 的人在这里留个言
        123
    Luckyray   7 天前   ♥ 1
    本来看这种帖子都懒得喷,今天装 vim 插件装的我蛋碎了,正好趁他下载,来说几句。
    一般的高亮、补全、语法树、分屏、格式化、代码模板等等就不说了,要是有空折腾,弄上几十个插件也能用起来跟 IDE 体验接近
    以常用的 Intellij IDEA 为例,代码重构有木有?依赖分析有木有?直接导出来个 UML 类图行不行?函数自动生成有木有? DEBUG、内存分析有木有?远程调试有木有?数据库配置保存、连接,甚至带上 ssh tunnel,导入导出数据,直接生成 Java Bean 有木有?
    这还是我会用的,菜单栏好多功能点都没点过不知道干啥用的。vim 太复杂的或者小众的功能不很了解,即便上面的都有,你说得安装多少个插件才够?再说这些都是 IDEA 自带的基础功能,它也有几百上千的插件。
    非要揣着明白装糊涂,问日常使用率高几十倍的东西有什么优势,不是蠢到没边就是找喷。
        124
    fyxtc   7 天前
    其实看写什么把。。。如果是 java 这样的,肯定 ide 优势太大,但是如果是 lua/python 这样的脚本 我觉得还是用编辑器舒服。。。我是 sublime+vim.....我觉得找到适合自己的操作方式就行
        125
    wangxiaoer   7 天前
    @symons 题主,我来总结一下,你——熟练掌握 vim 的开发人员,在尝试 IDE 的时候因为需要花费时间熟悉新的键位等配置,然后你就得出“ ide 比 vim 学习成本高”这个结论。

    我表示严重怀疑你的逻辑能力。
        126
    zhangsen1992   7 天前
    ide vim 都用,最常用 vim 写东西,ide 用的不爽
        127
    hellohello123   7 天前
    @bumz IDE 是 编辑器 的超集,我觉得这种并没有问题,IDE 至少包含一个文本编辑器;你可以说某一特定编辑器,某一项特定的功能,在某一中 IDE 上并没有。不过讨论这个并没有什么意义。我之前回复你,想表达的意思是,你说的批量替换,只是一个文本编辑器最基础的功能,各种 IDE 的文本编辑器显然也是支持这个功能的。你举的例子并不恰当而已。
        128
    hellohello123   7 天前
    @bumz 另外,回答你的问题,你说的数据预处理,能否举出一个具体的例子?不然没法讨论。
        129
    u2386   7 天前 via iPhone
    相反,我认为初学者可以用 IDE 来辅助自己学习编程,能有效防止自己犯比较初级的错误。而已经熟练的用编辑器写地更自由。
        130
    Jiavan   7 天前
    @CtrlSpace 我们全部使用 vim 写代码
        131
    eijnew   7 天前
    sublimeText 和 vim 基本被用来做文本处理 列编辑、正则批量处理文本很有优势
    ide 写代码还是很爽 一直...就好了
        132
    littlewing   7 天前
    个人认为 VIM 学习成本太高
        133
    ddhwen   7 天前 via Android
    码代码还是用 IDE,毕竟调试方便。遇到需要 sublime 就开 sublime,遇到服务器编辑配置就用 vim
        134
    liubag   7 天前
        135
    ipwx   7 天前
    @quinoa42 一个功能“能用”和“好用”的差别有区别的。

    可能你觉得实现了 80% 程度就觉得好了,但我是那种连 Eclipse 对 Java 的支持都看不上的人。所以我站 IDE。
        136
    JerryCha   7 天前
    我校教 C 语言都是抄起 code::blocks 就干的,简单方便
        137
    Delete   7 天前
    全世界 90% 用 vim 写代码的程序员都在 V2EX 了
        138
    gnaggnoyil   7 天前
    @NoAnyLove 问题就是对于 cpp 而言补全函数名之类的事情很麻烦啊……比如我敲下了'std::char_traits<wchar_t>::'接下来希望 intellisense 能自动补全,这种需求可不是简单的下推自动机跑一遍就能解决的啊是吧……
        139
    BingoXuan   6 天前
    vim 有一个最大的好处就是你可以把本机的配置扔到任何*unix 系统继续用
        140
    xjqxz2   6 天前
    一个曾经的 Vimer ~~现在因为公司里都是 PHPStrom 然后入乡随俗了....
        141
    lazzyboy   6 天前
    有没有人尝试过 SpaceVim ? 个人觉得 Vim 的学习曲线是高,但是这是一劳永逸的东西,会了他之后,很大程度上提升自己编辑代码的能力。

    如果有兴趣,可以试试 SpaceVim, 这里是中文文档

    https://github.com/SpaceVim/SpaceVim/blob/dev/docs/README_zh_cn.md
        142
    NoAnyLove   6 天前
    @gnaggnoyil 不会 C++,不过试了试你说的'std::char_traits<wchar_t>::',在我这里的 Vim 确实是有自动补全的。

    [Imgur]( )
        143
    shihira   6 天前   ♥ 3
    从前有一些用牛耕田的人。

    后来,他们听说了拖拉机这种东西,大家都说这东西好用。于是他们去观摩了半天之后说道,这什么破东西,这么多操作柄这么多仪表噪音还大,不会用不会用,用这东西的都傻逼,而且居然还 tm 要考驾照。于是他们都回去继续用牛耕田了。
        144
    secondwtq   6 天前
    @Luckyray 既然吐槽这么多,为什么还是在装呢?
        145
    Luckyray   6 天前 via iPhone
    @secondwtq 拖拉机开多了,试试怎么用牛耕地……
        146
    secondwtq   6 天前
    @Luckyray 没必要,有拖拉机了,牛就拉去拖拉机开不上去的地方耕吧
    想要尝试牛魔王的话出门左转 Emacs
        147
    lslqtz   6 天前
    st+code+vs 路过
        148
    luodaoyi   5 天前
    vs2017 企业版路过,盗版的,反正没掏钱。
        149
    fyxtc   5 天前
    @CtrlSpace 话不能这么说。。。主要看你写什么。。如果写 java 那样的,肯定 ide,但是写 py/lua 这种,vi 配几个插件也能很好写,其实也是看个人习惯,没必要用一个就嘲讽另一个,都是程序员,何必呢,自己选择自己的工作方式,舒服就好
        150
    hijkzzz   5 天前
    第一次听说 IDE 学习成本高
        151
    components   5 天前
    反正我司是用 IDE+sublime
    正式项目一律 IDE,不允许你用 vim 慢慢折腾,耽误效率
        152
    leondotli   4 天前
    脚本语言用 Vim 效率可以很高,结合 tmux, iterm2 等,可以全程无鼠标,开发效率是超过 IDE 的,上面吐槽 Vim 的可以理解,因为没认真折腾过三年以上的是完全想象不到的,可以类比只用鼠标在 IDE 开发的人想象不到你熟练的用 IDE 快捷键开发的场景。
    Java 还是老实用 IDE,特别是 IDEA,代码提示不止准确,而且相当智能,Vim 也可以有类似( YCM, Eclim ),但体验比 IDEA 差很多。
    用 IDE 的问题主要是没有一个统一抽象的切换基于 grid 的切换快捷键,针对 editor tab, tool view 的来回切换不畅,有时还不如用鼠标,相对的 terminal, tmux, vim 等就是一个个 window 或 pane 的抽象,切换比较简单。
        153
    components   2 天前
    @leondotli 脚本语言比如 javascript 也建议用 IDE,因为有些方法只有特定浏览器才兼容啊。而一些 IDE 可以提醒你浏览器的兼容程度。
        154
    mrwong   2 天前
    我跟你讲,我用自行车攒了一台法拉利。
    1  2  
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1556 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.7.5 · 63ms · UTC 13:18 · PVG 21:18 · LAX 06:18 · JFK 09:18
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1