在好久之前,軟件行業就有一種爭論:究竟要不要使用Vim。這種爭論有點像音樂界關於模擬信號與數字信號的爭論。git
在大多數工程師眼中,Vim是一種老舊的,已通過時了的文本編輯器。它缺少不少優秀的功能,用起來也沒有現代的IDE舒服。但實際上,Vim絕對不是一種老舊的文本編輯器。github
Vim就像是手動擋的汽車同樣。編程
你必需要學會如何去駕馭它,如何手動換擋。而一旦你習慣了之後,就會得到成倍的收穫與樂趣。它能夠帶着你在蜿蜒的小路上行駛,你須要保持全神貫注,而且精巧的換擋。這時你會以爲你和汽車之間彷彿創建了某種鏈接,它就像是你身體的一部分同樣。vim
Vim就是這樣子,這也是爲何它會如此有趣的緣由。服務器
下面就是我推薦你使用Vim的3個半理由。編輯器
當你使用Vim的時候,你幾乎能夠不使用鼠標,你必須用鍵盤去作全部的事情。這會使你成爲更強大、更高效的開發者。插件
你的手離開鍵盤的次數越多,你的工做效率就會越低。每次使用鼠標都會拖慢你的工做效率,你的大腦就像CPU同樣要進行線程上下文的切換。因此你應該慢慢學會使用快捷鍵。命令行
Vim的一大好處就是它只能使用快捷鍵,你想用鼠標都不行。線程
你必須學着習慣這一點。code
在大多數Unix系統中,默認均可以使用Vim或者Vi。這二者是徹底運行在命令行上的編輯器看,因爲沒有GUI,所以它們更加通用和輕便。
由於Vim是徹底由命令行驅動的,當你使用SSH鏈接遠程服務器編輯文本或者在線修改代碼時,就會有飛同樣的感受了。
在使用像Ubuntu Server這樣自己並不包含GUI的系統時,VIm更是顯得尤其重要。
有了Vim,你就不須要在系統直接來回傳輸文件,也不用使用SSHFS來掛載遠程系統了。只須要用vim打開你的配置文件,編輯,而後:wq
。
你是否真的須要自動補全和集成代碼分析呢?你又真的須要那些花裏胡哨的UI嗎?
你應該學會的是簡單思考,Vim沒有那些大型IDE臃腫的功能,它能讓你專一於問題的本質:代碼。
使用Vim時,你會變得更加有條理和嚴謹。你會更加清楚你當前在編輯的是哪一個文件,它在什麼目錄下。即便沒有展現在你面前,你也會很清楚它們的位置。
因爲編輯器的簡單性,在文件之間進行編輯,剪切,粘貼和移動這些動做會變得更加清晰和明確。
固然了,有時候你可能須要一些額外的功能。能夠經過安裝Vim插件來達到目的。這些插件都是按需取用的,你只須要選擇你真正須要用的便可。
你可使用Pathogen來幫助你管理Vim的插件。
其餘不使用Vim的開發人員看到你使用Vim開發時會以爲你很瘋狂,你能夠利用他們的這種心態來展現本身的優點,同時還能提升影響力。
記住,你能夠比別人開發的更快。由於Vim比那些現代的大型IDE佔用的內存要少得多。
不管你是爲了什麼目的去使用Vim,抑或是被迫去使用的。你均可以學着去愛上它,這樣你本身也會成長不少。
Vim是最好的廚師才能用的刀。你能夠用它來切東西,或者被它切。。。
Vim在開發中的用處仍是很大的,不過我本人也只是把它做爲一個文本編輯器來用,寫代碼仍是更習慣用IDE。由於我真的須要代碼補全功能。用Vim編程也許只有那些初代目大佬才能作到吧。你們仍是能夠適當學一學使用Vim,畢竟在外行看來能夠算是裝X利器了。