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

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

  •  
  •   symons · 70 天前 · 7343 次点击
    这是一个创建于 70 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    154 回复  |  直到 2017-09-20 17:15:58 +08:00
    1  2  
        101
    clino   70 天前
    能干活就行了...达到目的最重要
    ---
    其实我是来翻页的
        102
    CtrlSpace   70 天前
    恕我直言,公司近百个程序员,没见过谁用 vim 写代码?
    你们是活在 20 年前???
        103
    fy   70 天前
    @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   70 天前
    有鼠标
        105
    bumz   70 天前
    @hellohello123 #74 IDE 和文本编辑器是不同的东西。IDE 不一定是文本编辑器。所以也不存在 IDE 是文本编辑器的超集的问题。

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

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

    IDE 行吗?

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

    @ipwx

    使用了 deoplete+jedi

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

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

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

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

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

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

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

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

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

    后来,他们听说了拖拉机这种东西,大家都说这东西好用。于是他们去观摩了半天之后说道,这什么破东西,这么多操作柄这么多仪表噪音还大,不会用不会用,用这东西的都傻逼,而且居然还 tm 要考驾照。于是他们都回去继续用牛耕田了。
        144
    secondwtq   69 天前
    @Luckyray 既然吐槽这么多,为什么还是在装呢?
        145
    Luckyray   69 天前 via iPhone
    @secondwtq 拖拉机开多了,试试怎么用牛耕地……
        146
    secondwtq   69 天前
    @Luckyray 没必要,有拖拉机了,牛就拉去拖拉机开不上去的地方耕吧
    想要尝试牛魔王的话出门左转 Emacs
        147
    lslqtz   69 天前
    st+code+vs 路过
        148
    luodaoyi   68 天前
    vs2017 企业版路过,盗版的,反正没掏钱。
        149
    fyxtc   68 天前
    @CtrlSpace 话不能这么说。。。主要看你写什么。。如果写 java 那样的,肯定 ide,但是写 py/lua 这种,vi 配几个插件也能很好写,其实也是看个人习惯,没必要用一个就嘲讽另一个,都是程序员,何必呢,自己选择自己的工作方式,舒服就好
        150
    hijkzzz   67 天前
    第一次听说 IDE 学习成本高
        151
    components   67 天前
    反正我司是用 IDE+sublime
    正式项目一律 IDE,不允许你用 vim 慢慢折腾,耽误效率
        152
    leondotli   67 天前
    脚本语言用 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   65 天前
    @leondotli 脚本语言比如 javascript 也建议用 IDE,因为有些方法只有特定浏览器才兼容啊。而一些 IDE 可以提醒你浏览器的兼容程度。
        154
    mrwong   64 天前
    我跟你讲,我用自行车攒了一台法拉利。
    1  2  
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2639 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 66ms · UTC 05:43 · PVG 13:43 · LAX 21:43 · JFK 00:43
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1