都快 2019 年了,運維還有必要學 Vim 嗎?
從上世紀九十年代起到現在, Vim 一直是最流行、應用最廣泛的文字編輯器之一。程式設計師、系統管理員、運維人員以及其他需要與文字檔案打交道的人都在積極地使用它。但現在都馬上2019 年了,我們有各種現代文字編輯器,還有必要學習 Vim 嗎?
最簡單的啟動 Vim 的方法就是在終端上執行 vim 命令
生產力提升
從個人的角度來看,使用 Vim 最主要的理由就是提升生產力。作為一名全職的程式設計師,我每天都要編輯各種程式碼檔案、配置檔案等。Vim 背後“基於模式編輯”的思想非常簡單,但同時也非常強大。簡單來說,針對一段文字進行的任何動作(如刪除一個詞、刪除一行、複製一句話等)都可以用一個簡單的按鍵完成。此外,你還可以重複命令、錄製巨集等等。
在使用 Vim 一兩週後,你做的一切動作都會成為肌肉記憶。任何與文字編輯或檔案瀏覽有關的動作都能在不到一秒的時間內完成。
當然,生產力並不僅僅與工作流程有關。Vim 自身的效能非常高,載入速度也非常快。
學習曲線
人們對於學習 Vim 的最大的誤解之一就是學習曲線——它非常難以學習。但事實並非如此。
與其他任何工具一樣,Vim 有自己的學習曲線。許多人在第一次嘗試 Vim 時會感到非常沮喪。但真正的原因並不是因為 Vim 有多難,而是因為在他們腦海中,尋常的文字編輯流程已經根深蒂固了。
而事實上,Vim 非常簡單,用不了一天就能學會它的基本操作。像其他工具一樣,你用得越多,學習新功能就越容易。只要堅持練習,大約在兩週(或者更短)之後,你就能完全使用 Vim 進行工作。
學習 Vim 的主要來源包括:
openvim.com:http://openvim.com/
vim-adventures.com:https://vim-adventures.com/
:vimtutor:https://superuser.com/questions/246487/how-to-use-vimtutor
與 IDE 相似的行為
許多人都問能不能把 Vim 配置得像現代 IDE 一樣。想使用 linter、智慧補齊或模糊搜尋等功能怎麼辦?這一切都可以通過外掛實現。Vim 有非常棒的社群支援,而這個良好的社群提供了無數的外掛。
Vim 能幫助到運維什麼
在 Linux 上存在著一個高階版本的編輯器 —— VIM(也被稱作 VI IMproved)。VIM 只是在 VI 已經很強的功能上新增了更多的功能,這些功能有:
支援更多 Linux 發行版,
支援多種程式語言,包括 python、c++、perl 等語言的程式碼塊摺疊,語法高亮,
支援通過多種網路協議,包括 http、ssh 等編輯檔案,
支援編輯壓縮歸檔中的檔案,
支援分屏同時編輯多個檔案。
其他編輯器中的 Vim 模式
並不推薦使用這種方式學習“真正”的 Vim,但如果你必須在某種特殊的環境下工作,如 XCode、Qt Designer,或者你很喜歡 Sublime Text 的配置,但依然想嘗試下 Vim 該怎麼辦呢?Vim 模式提供了一種其他編輯器和 Vim 之間的折中方案。
幾乎所有流行的編輯器都有 Vim 模式的外掛,或者內嵌了 Vim 模式的功能,所以只需要找出怎樣啟用它即可。它能給你的編輯器新增 Vim 的命令,這樣就能在各種編輯器中使用 Vim 的命令了。
一些流行的 Vim 模擬器包括
Vintage Mode(Sublime Text):https://www.sublimetext.com/docs/3/vintage.html
VSCodeVim(Visual Studio Code):https://github.com/VSCodeVim/Vim
FakeVim(Qt Creator):http://doc.qt.io/qtcreator/creator-editor-fakevim.html
ViEmu(Visual Studio, Xcode, Word, Outlook):http://www.viemu.com/
結論:
作為開發人員或運維人員,Vim 是最值得投入時間學習的事情之一。學習 Vim 用不了幾個星期,但從長遠來考慮,它能給你以後的文字編輯工作節省你幾個星期甚至幾個月的時間。
英文:Andriy Semenets,翻譯:CSDN/彎月
PS:記得查收小編送你的免費大禮包呦~
福利 | 一萬多套PPT模板等你免費來拿!無條件領取!
免費送 | 1000多套簡歷模板免費拿,附贈簡歷製作教程!
免費領 | 《Shell指令碼 100例》電子書免費拿,運維必備乾貨~
▼▼點選【閱讀原文】,5天運維免費課程,開講在即!
相關文章
- IDC有必要實現智慧化運維嗎?運維
- Linux運維工程師有必要提升自己嗎?Linux運維工程師
- 都9102年了,你還在做“資料搬運工”嗎?
- 現在還有必要學Java開發嗎?前景好嗎?Java
- 有必要參加長沙web前端培訓嗎?2021年學Web前端還有發展前景嗎?Web前端
- 工作後還有必要考證、考研嗎?
- 都快2020年了,還不會Linux 基礎命令?Linux
- 《王者榮耀》都這麼火了,還有必要請吳亦凡、楊冪代言嗎?
- 數倉公共層,還有存在的必要嗎?
- 都9012年了,你還在手動部署程式碼嗎
- 都2022年了,密碼管理器還安全嗎?密碼
- 有更好的公司發了口頭 offer,答應之前的公司還有必要去嗎?
- 做Linux運維還需要在提升嗎?Linux學習Linux運維
- 快三十了,工資還是10K出頭,還有希望嗎?
- 如何高效學習linux運維知識?linux運維有發展嗎Linux運維
- 都2019了你還不知道人工智慧是什麼嗎?人工智慧
- 自動化測試有必要學嗎?
- 運維學習有什麼好的學習方法嗎?運維
- 都2019年了,為啥還有人愛玩《夢幻西遊》?
- 有必要參加SEO培訓嗎?自學可以嗎?
- 都28了,半路轉行學程式設計還來得及嗎?程式設計
- Java 14 都快來了,為什麼還有這麼多人固守Java 8?Java
- 現在開始學習Linux運維還來得及嗎?Linux運維
- 40歲還可以轉行做Linux運維嗎?學習難度大嗎?Linux運維
- 學習linux有必要參加培訓嗎Linux
- 轉行Linux運維需要學習嗎?學習Linux運維Linux運維
- Linux運維可以自學嗎?Linux運維技術Linux運維
- 都2020了,還不好好學學泛型?泛型
- 零基礎學運維有什麼方法嗎?Linux學習運維Linux
- 如何學好Linux運維?都學些什麼?Linux運維
- 企業生存都是問題還有必要做數字化嗎?
- 域名備案後,有必要做個網站嗎?為了不掉備案,很有必要!網站
- 學習Python真的有必要參加培訓嗎?Python
- python 有必要學習非同步程式設計嗎?Python非同步程式設計
- 長沙前端培訓有必要學習webpack嗎?前端Web
- Linux運維都需要做什麼?0基礎Linux運維學習Linux運維
- Linux運維工程師有錢途嗎?Linux運維工程師
- 你覺得虛擬DOM快嗎?還有沒有比它還快的方式?