有的 ide 開源且功能完善,如ibm的eclipse,為什麼總有人抱著 vim 不放?


不是每台機器上面都能裝 X 的。


這種問題容易拉仇恨,本來是不打算回答的,奈何手賤

加上剛來南京不久,人生地不熟的,過了個標準碼農的七夕

以下內容不針對這個問題,看過不少 編輯器/IDE/語言/ 之爭

實在也有點煩

扯幾句蛋

---------------------------------

0.對於新手而言,選擇簡單的工具,把精力放在你要做的事上

比方你寫前端代碼,使用sublime text真的就很好了,雖然你認真去配置vim也能配置的很好,不過你先看下下圖它的學習曲線。說句實話,你在被vi虐的外焦里嫩的時候,真心很難把心思集中到你要做的事上。

此外如果是新手,且寫的是安卓的話,當然也是不必考慮vi的(假設你對vi不熟,問這個問題,表明你應當不算太熟吧)

我剛寫python的時候用的也是sublime text

其他情況類似

1.使用什麼工具是你的自由,也是別人的自由

vi/emacs聖戰都幾十年了,硝煙未散。

「世上只有三類程序員,一類使用vi的,使用emacs,以及第三類」 ,這類聽著讓人生氣的名言著實也不少。

以至於渣渣如我,使用vi之前,也總是心有不甘,覺得你們這幫傢伙忒裝X,可到了自己認真使用一段時間之後,真心折服。也很想勸誡周邊的小夥伴早日皈依。可轉念一想,這件事其實很容易被誤解為秀優越,程序員對自己喜歡的工具(語言),常常有中類似於信仰的情感在裡邊。

放下你的聖母心,有些東西真的是機遇,在我自己主動嘗試使用vi之前,也看到不少的忠告,可真的不怎麼領情。

2.如果我說我更喜歡vi(vim),我所陳述的不是客觀真理,僅是說我為何喜歡它

我的確喜歡VI,我喜歡它的純粹,靈活。

前幾天看到以下內容,摘來於君共享。你覺得偏激也很正常的,它也僅代表寫下那段話的那個人觀點,我們每個人面對的境況不同,某人喜歡一樣東西的理由有時和另外一人討厭一樣東西的理由是一樣的。

「首先,一個 IDE 集成了編輯器,編譯器,彙編器,調試器,跟蹤器…… 這個編輯器功能肯定比不上 VIM 或 Emacs,編譯器比不上 GCC,彙編器比不上 as,調試器比不上 gdb, ddd, 跟蹤器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你對調試器的功能不滿意,你只好換用另外一套 IDE,但是這套 IDE 的熱鍵,菜單,編輯器功能,按鈕…… 跟原來那個有很大不同。你不得不花很多時間來熟悉新的環境,而不能保持原來的某些東西。

而在 UNIX 下就不一樣了。你可以用你最喜歡的 VIM 編輯程序,你在 VIM 里可以調用 GNU make,make 可以調用 gcc, ld, ... make 的出錯信息可以被 VIM 捕獲,VIM 能幫你在源程序里定位。你如果喜歡 icc, 你可以讓 make 用 icc 而不是 gcc。你如果覺得 gdb 跟蹤變數時比較麻煩,你可以用 ddd 來顯示各種數據結構之間的關係。你還可以在 Emacs 里調用 gdb,那樣就可以同步顯示源代碼了。而且 VIM 和 Emacs 還可以編輯很多其它東西,比如信件,LaTeX 文檔,HTML,配置文件…… 你不用另外找一個什麼編輯器來干這些雜活了。很多程序比如 Mutt, tin 都可以在內部使用 VIM,這樣就更方便了。實際上 make 在其它方面還能幫你很多忙,我的每一個比較大型的 LaTeX 文檔都是用 make 維護的。」

這些建立在他是個老手的基礎上,如果我們連vim,make,gdb都得慢慢入門,當然毫不猶豫選擇IDE

----

以上


因為coding的時候不想在鍵盤和滑鼠間切來切去 太繁了~


我電腦4G內存,開了個eclipse,開了個android 的 emulator, 再開個chrome,哦,電腦崩了…………


因為他們的水平牛逼到可以僅用shell+vim完成所有你不會做而只能依賴IDE才能做成的事情並且效率更高。對他們來說IDE是臃腫且降低工作效率的。如果這也算是裝逼,那我會說,裝得好。


Visual Studio 裝 VsVim 插件算什麼?


不是開源不開源,功能強不強的問題

如果你堅持用上一年vim,就不會提這種問題了

當然也看具體項目,例如搞類似java的開發,個人感覺IDE還是更適合些;經常寫腳本的話,IDE就顯得太臃腫了


vim 在遠程主機上很實用,看LOG或者直接改代碼,即使是網路很慢的情況下。開發階段如果用JAVA這類靜態語言,用IDE舒服些,因為有語法提示。象RUBY這種用不用IDE都無所謂,因為做不到完整的語法提示,反而是VIM+CTAGS能做到更完美些。

所以很多時候都要根據情況選擇的,不要加什麼宗教情緒在裡面,非要爭個好壞不可


提問者有個概念沒搞清楚,混淆了:VIM是編輯器,不是IDE。


得看使用場景,使用遠程開發機開發,你能用eclipse?開發c/c++基本是在遠程主機上面開發,開發java使用eclipse那是毋庸置疑的。


eclipse丑的根本不想用,影響寫代碼心情好嗎!


在完成同樣事情的條件下,降低工具的複雜度,可以顯示工匠本身的水平,迎合受眾心理。

比如一個木匠可以使用機床一鍵完成門窗的雕花,也可以自己用刀一點點雕。你覺得哪個手藝更好?

再比如老師上課可以做很多ppt和講稿,也可以連課本都不帶,只端一杯水講。你覺得哪個老師水平更高?(我見過有的老師課本熟悉到可以說出本課的某個詞,它的反義詞在多少面多少行第幾個詞,同義詞在多少面多少面多少行第幾個詞,哪幾課第幾行有可以參考的例句等等)。

在某些情況下,能夠使用簡單工具完成高超工藝的工匠水平是更高。但是很多時候新的生產工具確實有很多便利,不應該拒絕。


用vim 習慣了,快捷鍵操作效率很高。。。。eclipse 不怎麼喜歡


eclipse 和 vim 有點風馬牛不相及吧,我寫個 shell 腳本不可能去用 eclipse 啊,同理開發個J2EE項目也不可能用 vim 啊,你用 netbeans 來和 eclipse 比還差不多。


其實用什麼開發工具得分場合。

如果是一個團隊項目,如果你是普通的成員,那自然需要選用團隊選定的工具。不能因為你喜歡vim就棄隊友而不顧了是吧。

如果你是團隊的TL,那麼你在選用碼代碼的工具時,是需要充分考慮到整個團隊的技術水平的。那麼如果你的團隊都是精通或者至少是熟練使用vim的,那你自然可以使用vim作為開發工具,否則學習使用工具所佔用的時間成本就夠你煩的了。當然,還得考慮其他因素,比如成本,風險,插件多少等等。

如果是個人寫的小程序,那就什麼順手用什麼了。我經常打開記事本寫程序然後編譯運行的。小時候電腦沒這麼容易接觸到的時候,還用過紙筆寫程序呢。


不會vim的時候,你可以不學vim而去用ide,學會了誰願意棄vim不用而用其它編輯器?

我只學了20%,可這已經讓我用得很high了。

編輯器很可能一生都會用到,值得我花時間熟練它。

找一個自己熟悉的編程語言,用vim coding一周就可以很熟練的移動游標,刪詞,刪行,替換等操作了,很難學嗎?


用一個禮拜的vim,大家再一起討論。否則,起點不同


用了10多年eclipse,現在是能不用就不用,eclipse穩定性太差,為了追求通用性,搞的太複雜,做純java的項目還成,要是項目帶有其他語言,如c++等,就會經常碰到一些莫名奇妙的問題。


當我昨天發現一個一直勸我用eclipse的師兄在vim下面不知道冒號是做什麼用的以後我就明白為什麼會有人問這個問題了。

對於那些debug從不打斷點或者很少打斷點的人來說,eclipse真是又丑又難用。ide這邊似乎自然規律是越開源越反人類?

個人心中VS&>Vim&>IntellJ&>XCode=NetBeans&>Eclipse。

要不是我天天做unix開發………


起始我不太明白,為什麼有intellij idea這麼神奇逆天好用的IDE,怎麼還有人會用eclipse,雖然要錢,可是也不算貴啊。


推薦閱讀:

eclipse直接導入反編譯代碼會出現什麼問題,如何修正?
Eclipse 的快捷鍵有哪些?
Eclipse 怎樣查找一個介面的具體實現在哪裡?
eclipse強轉無法輸出ASCII碼為3的字元(黑桃),而輸出unicode值可以?
都說 IntelliJ 比 Eclipse 好用,那麼 IntelliJ 有哪些好用的技巧?

TAG:Java | Vim | 集成開發環境 | Eclipse | JavaEE |