體驗(yàn)是否比eclipse差很多呢?
用emacs寫(xiě)java體驗(yàn)也不會(huì)好么:(
這個(gè)問(wèn)題你去問(wèn) 100 個(gè) vimer(我指的是真正懂 vim 的玩家,不是普通使用者),估計(jì) 99 個(gè)都會(huì)告訴你:“可以,但并不適合。”(這是普適的答案,你應(yīng)該相信)
但總會(huì)有那么一個(gè)百里挑一的 genius 會(huì)做出 99% 的人做不出的事情來(lái),比如說(shuō)這位:http://www.lucianofiandesio.c...
那么他做到的事情能完美代替 Intellij IDEA 或 eclipse 嗎?答案是:不能——不過(guò)這要看對(duì)誰(shuí)而言,對(duì)少數(shù)人來(lái)說(shuō),他們并不依賴那些 IDE 有的,但是 vim 沒(méi)有并且很難去實(shí)現(xiàn)的東西(或者說(shuō)實(shí)現(xiàn)的代價(jià)有點(diǎn)不值得),所以他們依然可以用 vim 寫(xiě) Java 并且寫(xiě)得比很多人都快都好。話說(shuō)回來(lái),IDE 用成精的人也不會(huì)比 vim 慢,更不要說(shuō)現(xiàn)在 IDE 都可以實(shí)現(xiàn)大部分的 vim 編輯模式——但 vim 有一些好處是 IDE 永遠(yuǎn)也無(wú)法企及的,輕、快、服務(wù)器幾乎標(biāo)配、遠(yuǎn)程連接立即可用……你精通 IDE 也許只能干好一件事,你精通 vim 鬼知道你都能干些什么!
那么問(wèn)題來(lái)了:你是這類人嗎?以上答案 Emacs 基本適用,在改造無(wú)限接近 IDE 這件事情上,Emacs 還能做得更極致一些。
曾經(jīng)有一年時(shí)間做 Java Swing 開(kāi)發(fā),嘗試過(guò) 2 個(gè)月時(shí)間脫離 IDE 轉(zhuǎn)投 VIM 。
其實(shí)答案和樓上一樣,也和大部分人一樣:可以,但并不適合。
該折騰的插件,都折騰了,NerdTree、AutoComplete、Supertab、Snippets……
或許是本人對(duì) VIM 的理解還不夠深入,也或許是各種其它原因,但還是有以下幾個(gè)方面不方便:
1. 文件切換不方便:雖然有 NerdTree,但在各種文件之間切換仍然不方便。不過(guò)可以用鼠標(biāo),但是用鼠標(biāo)的話,還要 VIM 干嘛。
2. 代碼提示不方便:Java 的第三方 Jar 包出了名的多,雖然手動(dòng)更改了 AutoComplete 代碼,能讓其提示 Jar 中的函數(shù),但經(jīng)常抽風(fēng)提示不出來(lái)。即使提示,也沒(méi)有方法注釋、方法簽名(無(wú)論哪一款 IDE 都會(huì)有方法注釋和方法簽名的吧),熟悉的方法還好,如果遇到第一次用的 Jar ,只能乖乖查官方 API 了。
3. import 需要手動(dòng):用慣了 Eclipse 的一定知道,Ctrl + O,IDE 能自動(dòng)幫助導(dǎo)入需要的包,如果有多個(gè)相同名稱的 Java 類,還會(huì)提示。這一方面 VIM 暫時(shí)還沒(méi)有這方面的插件(當(dāng)然,如果有高人在,相信一定能開(kāi)發(fā)出這樣一款插件)。每次寫(xiě)完代碼,編譯時(shí),都會(huì)出現(xiàn)大堆大堆的提示沒(méi)有 import 。然后手動(dòng)寫(xiě) import 也是非常耗時(shí)的事情。
4. 新建文件不方便:IDE 中,會(huì)根據(jù)選擇的新建文件不同,根據(jù)不同的模版生成不同的文件。但是在 VIM 中,新建文件就是一空白文本文件,所有代碼都要自己填寫(xiě)完整。 J2SE 項(xiàng)目還好,如果是 Web 項(xiàng)目,各種痛苦會(huì)等著你。
5. 覆蓋方法不方便:IDE 能夠提示哪些方法可以覆蓋,VIM 只能憑經(jīng)驗(yàn)或者查詢 API 了。
其實(shí)還有很多問(wèn)題,只有折騰過(guò)的才知道。后來(lái)還是因?yàn)樾蕦?shí)在低下,又回到 IDE,不過(guò)好在現(xiàn)在的 IDE 都有 VIM 插件。
在真正開(kāi)始 VIM 工作之前,本人可是花了 2 周時(shí)間來(lái)調(diào)試和折騰 VIM 插件。
只能說(shuō),其中的坑實(shí)在很多,慎入。
@TroyLiu 你說(shuō)的這些問(wèn)題都不是問(wèn)題,在我的配置中,這些問(wèn)題完全可以解決,而且解決方案比IDE里面效果要好;
https://github.com/wsdjeg/Dot...
推薦一篇關(guān)于使用vim開(kāi)發(fā)java程序的文章:
https://spacevim.org/2017/02/...
可以,前提是Vunble那套東西你要玩的轉(zhuǎn)
利益相關(guān):重度vim使用者
可以,光寫(xiě)代碼完全不成問(wèn)題。只要你牛B到不需要調(diào)試
功能。在牛B的VIM配置,能搞出IDE的調(diào)試環(huán)境嗎?