新手學習 Vim 的五個技巧
多年來,我一直想學 Vim。如今 Vim 是我最喜歡的 Linux 文字編輯器,也是開發者和系統管理者最喜愛的開源工具。我說的學習,指的是真正意義上的學習。想要精通確實很難,所以我只想要達到熟練的水平。我使用了這麼多年的 Linux ,我會的也僅僅只是開啟一個檔案,使用上下左右箭頭按鍵來移動游標,切換到插入模式,更改一些文字,儲存,然後退出。
但那只是 Vim 的最最基本的操作。我的技能水平只能讓我在終端使用 Vim 修改文字,但是它並沒有任何一個我想象中強大的文字處理功能。這樣我完全無法用 Vim 發揮出勝出 Pico 和 Nano 的能力。
所以到底為什麼要學習 Vim?因為我花費了相當多的時間用於編輯文字,而且我知道還有很大的效率提升空間。為什麼不選擇 Emacs,或者是更為現代化的編輯器例如 Atom?因為 Vim 適合我,至少我有一丁點的使用經驗。而且,很重要的一點就是,在我需要處理的系統上很少碰見沒有裝 Vim 或者它的弱化版(Vi)。如果你有強烈的慾望想學習對你來說更給力的 Emacs,我希望這些對於 Emacs 同類編輯器的建議能對你有所幫助。
花了幾周的時間專注提高我的 Vim 使用技巧之後,我想分享的第一個建議就是必須使用它。雖然這看起來就是明知故問的回答,但事實上它比我所預想的計劃要困難一些。我的大多數工作是在網頁瀏覽器上進行的,而且每次我需要在瀏覽器之外開啟並編輯一段文字時,就需要避免下意識地開啟 Gedit。Gedit 已經放在了我的快速啟動欄中,所以第一步就是移除這個快捷方式,然後替換成 Vim 的。
為了更好的學習 Vim,我嘗試了很多。如果你也正想學習,以下列舉了一些作為推薦。
Vimtutor
通常如何開始學習最好就是使用應用本身。我找到一個小的應用叫 Vimtutor,當你在學習編輯一個文字時它能輔導你一些基礎知識,它向我展示了很多我這些年都忽視的基礎命令。Vimtutor 一般在有 Vim 的地方都能找到它,如果你的系統上沒有 Vimtutor,Vimtutor 可以很容易從你的包管理器上安裝。
GVim
我知道並不是每個人都認同這個,但就是它讓我從使用終端中的 Vim 轉戰到使用 GVim 來滿足我基本編輯需求。反對者表示 GVim 鼓勵使用滑鼠,而 Vim 主要是為鍵盤黨設計的。但是我能通過 GVim 的下拉選單快速找到想找的指令,並且 GVim 可以提醒我正確的指令然後通過敲鍵盤執行它。努力學習一個新的編輯器然後陷入無法解決的困境,這種感覺並不好受。每隔幾分鐘讀一下 man 出來的文字或者使用搜尋引擎來提醒你該用的按鍵序列也並不是最好的學習新事物的方法。
鍵盤表
當我轉戰 GVim,我發現有一個鍵盤的“速查表”來提醒我最基礎的按鍵很是便利。網上有很多這種可用的表,你可以下載、列印,然後貼在你身邊的某一處地方。但是為了我的筆記本鍵盤,我選擇買一沓便籤紙。這些便籤紙在美國不到 10 美元,當我使用鍵盤編輯文字,嘗試新的命令的時候,可以隨時提醒我。
Vimium
上文提到,我工作都在瀏覽器上進行。其中一條我覺得很有幫助的建議就是,使用 Vimium來用增強使用 Vim 的體驗。Vimium 是 Chrome 瀏覽器上的一個開源外掛,能用 Vim 的指令快捷操作 Chrome。我發現我只用了幾次使用快捷鍵切換上下文,就好像比之前更熟悉這些快捷鍵了。同樣的擴充套件 Firefox 上也有,例如 Vimerator。
其它人
毫無疑問,最好的學習方法就是求助於在你之前探索過的人,讓他給你建議、反饋和解決方法。
如果你住在一個大城市,那麼附近可能會有一個 Vim meetup 小組,或者還有 Freenode IRC 上的 #vim 頻道。#vim 頻道是 Freenode 上最活躍的頻道之一,那上面可以針對你個人的問題來提供幫助。聽上面的人發發牢騷或者看看別人嘗試解決自己沒有遇到過的問題,僅僅是這樣我都覺得很有趣。
那麼,現在怎麼樣了?到現在為止還不錯。為它所花的時間是否值得就在於之後它為你節省了多少時間。但是當我發現一個新的按鍵序列可以來跳過詞,或者一些相似的小技巧,我經常會收穫意外的驚喜與快樂。每天我至少可以看見,一點點的回報,正在逐漸配得上當初的付出。
學習 Vim 並不僅僅只有這些建議,還有很多。我很喜歡指引別人去 Vim Advantures,它是一種使用 Vim 按鍵方式進行移動的線上遊戲。而在另外一天我在 Vimgifts.com 發現了一個非常神奇的虛擬學習工具,那可能就是你真正想要的:用一個小小的 gif 動圖來描述 Vim 操作。
你有花時間學習 Vim 嗎?或者是任何需要大量鍵盤操作的程式?那些經過你努力後掌握的工具,你認為這些努力值得嗎?效率的提高有沒有達到你的預期?分享你們的故事在下面的評論區吧。
相關文章
- 0基礎新手該如何學習Python?學習技巧!Python
- 0基礎新手該如何學習Python?分享學習技巧!Python
- vim學習
- vim實用技巧(第二版)學習筆記筆記
- PacVim:一個學習 vim 命令的命令列遊戲命令列遊戲
- Vim學習指南
- 如何學習Vim
- vim 學習利器
- vim學習筆記筆記
- Vim簡明學習
- 新手學習的法則
- Linux學習的五個臺階Linux
- VIM操作技巧
- 五個有用的jquery小技巧jQuery
- 『學了就忘』vim編輯器基礎 — 97、vim使用技巧
- 學習 MySQL 應該掌握的 6 個技巧MySql
- 更快學習 JavaScript 的 6 個思維技巧JavaScript
- 新手使用筆記本的三個小技巧筆記
- 新手學習如何完全退出整個應用
- 學習java三個技巧要知道!Java
- Dubbo 學習筆記(五) 開發環境常用技巧筆記開發環境
- 運維乾貨 | 12 個實用的 Vim 使用技巧運維
- 新手學習Java需要了解的幾個知識點!Java
- 從開發 2 個 Chrome 外掛中學到的(對新手的 4 個提示和 6 個技巧)Chrome
- 給新手的 10 個有用 Linux 命令列技巧Linux命令列
- 給新手學習MySQL的建議MySql
- 為什麼要學習 Vim?
- git 和 vim 學習筆記Git筆記
- 五個最有用的Python技巧 - dannysteenmanPython
- 更快學習 JS 的 6 個簡單思維技巧JS
- 幫助你更快學習JavaScript的六個思維技巧JavaScript
- Vim基礎使用技巧
- 一個新手學習PYTHON困難度有多大Python
- 新手學習Django的十條注意點Django
- 新手如何學習Java——Java學習路線圖Java
- 移動遊戲開發的五個技巧遊戲開發
- 帶你認識,19個學習Python的小技巧!Python
- 學會這五個PPT製作技巧,告別小白式操作