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