{eval=Array;=+count(Array);}
真搞不懂,一個初中生稍微學一下就能熟練使用的編輯器為什么很多人以為用它來寫代碼就是大神?
這么說,如果像linus這樣,對Linux的API了如指掌(畢竟自己寫的),用Vim和用IDE是一樣的。但如果要調用別人的API,用vim就要花大量的時間去熟悉API,起碼得把函數名背下來,要不然寫幾行就得去看頭文件。
還有,沒有語法預檢查,要消耗大量的時間在編譯上面,編譯報錯,檢查,修改,再編譯,再報錯。。。
996就是這么來的。
------補充-------
很多程序員混淆了自由編程和商業編程。一個學生出于愛好維護一個開源項目,這是自由編程,自由編程是沒有成本的,開發成本和試錯成本都是零。一個公司的員工為實現用戶需求開發一個項目,這是商業編程,商業編程有開發成本和試錯成本,試錯成本比開發成本更高,甚至是無法承受之重。舉個例子,一個嵌入式程序員,開發了一款產品,銷售了一百萬件,用戶在使用中發現了BUG,那就得一件件召回升級,這個成本是一個程序員無法承受的。很多程序員覺得那是測試部門的事,但測試部門測的是業務邏輯,程序邏輯人家連代碼都看不懂怎么測,出BUG的往往就是程序邏輯。
所以,商業編程的本質就是用最小的開發成本和試錯成本實現用戶需求。用IDE的目的就在于此。
答案是有。我自己就在用,而且還用的很快樂。
公司的項目是純C語言開發,代碼量大概有幾百萬行吧,具體沒算過,一套代碼下載下來有十幾個G。
開發環境是Linux + Windows,代碼的編譯主要是在Linux下面。最開始使用的是sourceinsight,可以生成函數調用關系,功能很強大。但隨著負責模塊的增多,si的反應速度讓人難受,后面切到了vim。
在剛使用的時候,我經歷了拿起又放下,又拿起又放下這樣反復的過程,大概持續了十幾次的樣子,最終停留在了vim上。vim是需要你要去適應它定制它的。當你適應它后,會達到人劍合一的地步,指哪打哪。函數跳轉,文內跳轉,關鍵詞高亮,項目內文件搜索打開,近期打開文件,符號搜索等等信手拈來。上面的優點僅僅是在編輯代碼方面,還有一些額外的收獲是win上面無法替代的。
沒有任何一款軟件能解決所有的問題,我們首先應該關注的是top級問題,發現并解決它
覺得vim不能開發大型項目的主要原因,是因為你覺得大型項目流程太多,變量太多,如果開發的軟件內聚性不強,你就需要記住很多的變量和流程,同時在多個文件中來回穿梭。如果沒有IDE的幫助,你就會覺得很困難。我的經驗,如果你用面向對象的方式去開發軟件,當你打開某個文件時,你的思維會沉浸在當前這個對象的變量和方法中,以及這個對象和相關對象的關系當中,并不需要有較多的全局思維,因此腦袋里要少裝很多東西。同項目組的其他同事,大多是面向過程的思維模式,基本用的都是soure insight。我開發的軟件,有上百個文件,上百個對象,我是用vim開發的,不知道算不算你心中的大項目?
vim的特別之處在于它的移動和操作方式都是利用鍵盤。對于編程人員來說盲打鍵盤是必須的,所以全部利用鍵盤來操作其實比借助鼠標要方便快捷。
使用vim,剛開始需要花點時間來練習快捷鍵,養成不用鼠標的習慣。
intellij有vim的插件。很多人在intellij上用vim的方式編輯,既可以利用intellij的提示,編譯,調試功能,又可以利用vim的快捷編輯功能。不僅可以提高效率,還可以提高編程舒適度和幸福感。
那么多人在說vim開發的種種好處,就沒見到幾個說vim壞處的,好處就是vim敲代碼比ide更流暢,寫代碼真的要那么快的速度,你確定你腦子轉的那么快?vim真比ide好用?講得大家差點就信了,我說這簡直就是胡說八道,vim永遠比不上ide開發的速度,ide有智能提示,各種檢測幫助你在編碼階段消滅錯誤,如果你電腦卡,請買臺配置高點的電腦,不要講ide卡,壓根就是兩個沒可比性的的東西。
當然有,但是已經非常非常少了。 開發大項目IDE可能更趁手,但是不代表vim不能用。
vim更適合用來編寫獨立軟件。如Linux,中間件,游戲等等。
現在vscode,sublime,atom居多,這些都可以用vim快捷鍵,純的vim太古老了。
至于項目大小和這些工具沒有關系。甚至越大的項目,越不喜歡用ide,因為效率太低了。這些編輯工具是專門為編輯代碼文本設計的,從各個方面都對代碼編輯和搜索做了優化。大部分ide都做不到這么細致。
甚至visual studio 的項目一旦大了,我都是用vscode寫,然后用make調用vs編譯。調試用trace。不到萬不得已,一定要用斷點等,一般不打開VS。
如果linux下有visual studio這么好用的IDE,你還用vim嗎?Windows平臺就是生產力,那些上古神器一邊玩去。
我從10年開始用vim,結合tmux,nerdtree,taglist,ctags,再加上開發語言所用的插件,可以實現語法自動檢查,代碼格式化等常用功能。你永遠不會為ide占用太多資源煩惱。還有個好處,你會對常用函數掌握的很溜。開發大型項目更能體現vim的性能優勢
0
回答0
回答10
回答0
回答10
回答0
回答8
回答0
回答10
回答0
回答