學習Vim,一定要知道這兩本書

程序員書屋 發佈 2020-03-06T22:51:27+00:00

通過命令d3w[剛好是刪除3個單詞的英文縮寫]可以刪除後面3個詞;通過命令ci"[改變引號裡面的英文縮寫]則可以改變引號裡面的文本。編輯速度快並不是Vim的賣點。Vim讓用戶置身於文本處理的流程中,不需要因為找滑鼠而打亂節奏;也不需要按17次方向鍵到達頁面中的某個位置;更不需要在

如果讀者曾經編輯過文本,很可能已經非常熟悉無模式(modeless)介面了,因為這是現代主流文本編輯器的默認選項,大多數人也是通過它來學習文本處理的。「無模式」指的是每個介面元素都只有一個功能,每個按鈕都對應於螢幕上的一個字母或某種其他操作,每個按鍵(或組合鍵)總是做同樣的事:此應用程式總是以單一模式來執行操作。

但這並不是文本處理的唯一方式。那麼現在,歡迎來到模式介面的世界。在這裡,根據上下文的不同,每個行為可能對應於不同的操作。現在常見的模式介面應用設備為智慧型手機,每當打開一個不同的應用或菜單時,在螢幕上單擊一下就會執行不同的功能。

對於文本編輯器,情況類似。Vim就是一款模式編輯器,即在不同的上下文,單擊一個按鈕會產生不同的行為結果。當Vim處於插入模式(用於文本輸入的模式)時,單擊o鍵會在螢幕上得到o。但當切換到不同的模式時,按o鍵的行為會發生變化,比如在光標下面添加新行。

使用Vim就像是與編輯器進行對話。通過命令d3w[剛好是刪除(delete)3個單詞(word)的英文縮寫]可以刪除後面3個詞;通過命令ci"[改變(change)引號裡面(inside)的英文縮寫]則可以改變引號裡面的文本。

編輯速度快並不是Vim的賣點。Vim讓用戶置身於文本處理的流程中,不需要因為找滑鼠而打亂節奏;也不需要按17次方向鍵到達頁面中的某個位置;更不需要在複製粘貼時通過滑鼠操作來小心翼翼地選擇文本。

當使用無模式編輯器時,工作流程總是會被打斷。而對於模式編輯器,特別是Vim,文本處理就像是與編輯器進行了一次親密交談,而且是用一種一致的語言與編輯器進行交流,比如刪除3個單詞(命令為d3w)、改變引號內文本(命令為ci")。通過Vim,文本編輯變成一種更從容的操作。


目前市面上比實用的有兩本Vim書,一本是《Vim實用技巧》第2版,一本是《Vim 8文本處理實戰》。

《Vim實用技巧》第2版

本書為那些想要提升自己的程式設計師編寫,閱讀本書是熟練掌握高超的Vim技巧的必由之路。全書共21章,包括123個技巧。每一章都是關於某一相關主題的技巧集合。每一個技巧都有針對性地解決一個或一類問題,幫助讀者提升Vim的使用技能。本書示例豐富,講解清晰,採用一種簡單的標記方法,表示交互式的編輯效果,可以幫助讀者快速掌握和精通Vim。

這是一本按技巧組織的書,它被設計成不必從頭讀到尾(沒錯!在下一章開頭,我會建議你直接跳到正文)。每一章節都是關於一相關主題的技巧集合,而每個技巧都講解一個特定的實用功能。有些技巧自成一體,而有些技巧則依賴本書中其他地方的內容,這些有依賴關係的技巧會以交叉引用的形式呈現給大家,因此你可以輕鬆找到所有內容。

本書目錄



豆瓣書評:

馬永權

讀完第一章就迫不及待來評個分,作為一個新手,看了第一章的.的用法已經對vim的用法有了新的認知,怪不得說是最好的指導工具書,實在太牛了


了不起的畢格比

這本書好在哪裡呢?

1. 結構分明

- 章間內容邊界清晰。

- 小節內容較短,功能描述逐層遞進。

2. 實用性強

- 所有的內容都可以快速的進行練習。

- 有不少內容看過後就不會忘。因為會發現比原來不知道這個方法的時候省好多時間。

3. 英文表達簡單直白,沒有什麼難句,沒有太多生詞。

歡子

完成了前200頁內容的閱讀,非常好的vim入門書。講解vim不是單純的羅列快捷鍵和用法,而是像講解一門程式語言一樣,循序漸進,非常適合入門者。拋棄以前的死記硬背,現在更懂vim。下一步就是把基本的用法練習練習練習。推薦!

Vim 8文本處理實戰

本書向讀者介紹了 Vim 的奇妙世界,其中包含了許多Python代碼示例和一些面向工程的工具。本書強烈建議讀者將Vim作為主要集成開發環境(IDE),以便將本書中的經驗推廣應用到任意程式語言。

本書適用於初級、中級和高級程式設計師。本書將介紹如何高效地將Vim應用於日常工作流程的方方面面。雖然書中涉及了Python,但Python或Vim的經驗並不是閱讀本書所必需的。

本書目錄



分享書中高效文本編輯的7個習慣

本節為Bram Moolenaar在2000年發表的文章及講稿的摘要,介紹了高效編輯的7個習慣。

1.快速移動光標。

2.避免重複輸入。

3.發現錯誤馬上修改。

4.學會同時處理多個文件。

5.學會組合使用多種工具。

6.用結構化思想去理解文本。

7.堅持好的做法並養成習慣。

建議讀者直接去Bram的網站閱讀原文。

因為開發者需要花大量時間閱讀和編輯代碼,所以Bram的7個習慣實際上可以進一步總結為改進文本編輯能力的三步法。

1.發現低效。

2.提高效率。

3.形成習慣。

這3個步驟適用於很多場合,下面是其中一個示例。

1.發現低效:移動光標需要花費很多時間。

2.提高效率:通常,用戶移動光標是為了找到某些已經存在的文本。讀者可以通過搜索文本來移動光標,或者進一步採用如下策略。

  • 用*來搜索光標下的單詞。
  • 用:set incsearch實現輸入即搜索。
  • 用:set hlsearch高亮顯示每個匹配項。

3.形成習慣:練習學到的技能,在.vimrc設置incsearch和hlsearch。需要用/搜索光標附近的單詞時,改用*。

關鍵字: