為什麼覺得用VIM寫代碼比用GUI界面的編輯器更累?
即使是敲擊鍵盤的次數相同,從心理上仍然感覺用VIM一類的命令行程序更累一些,為什麼?
蘿蔔青菜,各有所愛。這說明你應該用GUI的編輯器
「反對目前排名第一的答案」
因為你還不「會」用。說明你對vi/vim實在不很熟練啊.
簡單點 刪除n行
vi/vim ndd就可以你用的「GUI編譯器」怎麼做?如果你連續使用一個月的VIM後還能離開它,那就說明你不適合用。沒必要糾結用什麼編輯器,安心把代碼寫好就行了。
因為你的感覺是正確的,VIM的使用方式還是上個世紀的
------------------------------------------------------------------------補充-------------------------------------------------------先說明一下,本人寫過不少VIM的插件,所以不算對VIM一無所知的人.對樓下的"呵呵"之類,我也只能以"呵呵"回應了.原因:
1. VIM引以自豪的快捷鍵的操作方式,很多編輯器都能模仿個大半,而且自定義方式更加方便易操作.2. VIM所謂的可以自定義功能,其他編輯器哪個沒有?而且Sublime這類新的編輯器,其插件開發方式更加易上手.3. VIM有什麼殺手插件嗎?沒有!
4. VIM的界面很炫嗎?不說命令行方式,就它那GUI,慘不忍睹.用戶體驗很差5. VIM跨平台?比他體驗好的編輯器不跨平台?Linux,Mac,Windows, Sublime也能運行.6. VIM的效率高?我用其他編輯器,好像也不必其他人慢啊VIM最大的優勢,在沒有其他編輯器存在的地方,還能找到它
-----------------------------------------------對評論的回復------------------------------------------
1. sublime text和vim同樣都是改配置文件,為什麼vim的就不方便了?vim默認的配置腳本是vimscript,其學習成本就不小。其他語言寫配置文件,其一,需要編譯或者下載第三方庫;其二,還是需要嵌在vimscript裡面調用。sublime text該配置基本上是改個json,顯然簡單多了2. vim支持用lua、python、perl、vimscript等語言來開發插件,其他編輯器有這麼自由?
對大部分使用編輯器的用戶來說,根本就不會去開發插件。至於真的去開發插件,如果你用lua,python,perl基本上都需要帶第三方庫或者需要安裝其他庫,不見得多自由。
3. 各大編輯器的插件本來就大同小異,都是自動補全、代碼格式化之類的,sublime text上不也就那些插件么?sublime text上有什麼殺手級插件么?沒有!
雖然功能大同小異,但是sublime text很多小細節做得很好,對普通用戶來說,就是用戶體驗足夠好。4. sublime text跨平台確實能跨。不過ssh到遠程伺服器的時候能用sublimetext不?
VIM最大的優勢,在沒有其他編輯器存在的地方,還能找到它大部分ssh到伺服器上,用的功能基本上就是:dd,G,i,wq5. 手殘黨用什麼都不會快的。
??6. 我寫的vim插件EasyVim1.0Beta_WIN_zh_CN.exe-[應用程序]
我覺得把精力放在編輯器上還不如把精力程序上。
跟個人習慣有關。像我這樣的編程初學者,往往連續編碼時間不到兩分鐘,需要來回切換文件,或者切換到某個框架用戶手冊查看,或者需要到別處複製粘貼代碼,再修修補補。這樣的操作其實用滑鼠更方便,所以也做不到不碰滑鼠。而在滑鼠和vim模式之間切換的成本比普通gui編輯器要大得多,比如粘貼要進入粘貼模式,要C+S+v而不是C+v,編輯還要多按一次i等等,其實效率反而低下了。因此如果編程不是很熟練的話還是不建議用vim。
1、vim不僅難用,而且具有很多反人類的特性,例如hjkl,因此學習成本很高。2、vim超越其他編輯器的唯一優點是宏。你可以用宏對基本的鍵盤操作進行排列組合,用於完成複雜的編輯操作,但是滑鼠操作不可能排列組合。3、vim適用於最具挑戰性的編輯任務。聊QQ的時候最好用QQ自帶的編輯窗口,不要用vim。
vim 很適合在終端用,用vim的都是喜歡刷刷刷盲打、喜歡鍵盤不喜歡滑鼠的,如果夠熟練,很多操作不需要「敲擊鍵盤的次數相同」而是少很多。比如快速移動,插入模式下刪詞刪行,精確複製。
所以你如果夠熟練,用掌握大量移動編輯技巧然後能夠不離開鍵盤、快速編輯,會覺得很值。但如果掌握的半生不熟,反而這種掌握成了負擔,又沒有達到提高效率的結果,心理上自然會覺得得不償失。用習慣之後就會感覺鍵盤效率比滑鼠高,就好比打DOTA的快捷鍵一樣
vim能在不到1秒鐘內顯示當前cpp的代碼框架如摺疊?然後又展開?vim能立即查看當前代碼的界面效果?vim能查找當前函數的所有調用?在本文件中的調用?vim能立即顯示當前函數中某個變數的引用並使用顏色區分讀寫?總有人將vim吹噓的那麼厲害.當然你自己寫插件也許可以做到,那樣就太不經濟了,什麼功能都要寫個插件,代價有多大?vim充其量只是在字元中跳來跳去,完全忽略語法語義上的信息,是個原始工具,只是特定場合效用大.上述問題若反對的,要問問vim搞定這些需要多長時間,再來反對.
本人是vim菜鳥,停留在依靠插件的水平上無法前進,不過vim真心好用,雖然實現一些IDE的功能有點曲折複雜,但是單就能用的,效率都比普通IDE快了N倍!
說明你用的不熟吧。熟練的之後,vim的確能夠大大提高編輯效率的。另外想說,vim真的很好用!至少編代碼時感覺非常爽。我之前用的notepad++,後來轉vim了(公司開發是Linux平台)。其他的編輯器沒有用過,vim的編輯功能,甩notepad++ N條街了。
如果只是會用的層次上,那麼花了很大力氣學VIM似乎是不值得的,如果想更高效,更快捷,學習VIM非常值得。
用的不熟練吧 我用了很了很多年 現在用IDE反而不習慣
基本同意最多人支持的觀點。Vim的優點在於操作方式(雖然需要時間去學習)和插件能力。但特定語言開發的方便程度上其實遠遠不夠。最近有一個新項目叫Neovim,旨在解決Vim的一些問題,另外還可以方便地嵌入IDE中:詳情戳這裡。
vim雖說可以折騰成IDE也能很輕鬆據說還能終身受益,但對於絕大多數同學來說,倒真不如直接使用好點兒的IDE工具,這是為什麼呢?因為個人覺得如果你把vim練級到+255了,這份精力拿來鑽研業務或技術深度,估計能提高到+65535,而且還巨輕鬆無比,所以在這兒隆重推薦樓主用jetbrains的一些工具,現在通過OSChina購買還能享受3折優惠。
推薦閱讀:
※適合 Mac 學習「大學C++」的軟體應該用什麼?
※C#軟體如何良好的防止反編譯被破解?
※為什麼說非同步編程是反人類?
※程序員真的需要一台 Mac 嗎?
※為什麼 Mac 適合編程?