VIM學習筆記-開篇

VIM學習筆記-開篇

來自專欄 VIM學習筆記29 人贊了文章

一直在學,也一直在用Vim。一直遇到問題,也一直在得到答案。慢慢的,Vim成了我最重要的文本編輯器和網頁編輯器。

文章溯源

某日在某Blog,下載了一個名為《vi編輯器的學習使用》的文件。打開一看——密密麻麻的文字有一百多頁。當時,覺得複雜的可怕。現在,才越來越發現它的價值。每次有所疑問,都能從這個文件中找到解答。每天花十幾分鐘,閱讀幾十行,也有不少收穫。可問題是,這個文章的排版真是糟糕,命令和文字混在一起,內容也缺乏有條理的組織,閱讀起來十分吃力。所以,我在邊閱讀時也邊整理(同時也結合了其他閱讀資料),希望能把它以更好的形式展示出來。我將文章按主題分拆為多個章節,並盡量控制每節的信息量,以便讀者消化其中的知識;每節中通過文字色彩和字體,將命令、快捷鍵突出顯示出來;在每節結尾,提供一個命令列表,以便回顧文中介紹的重要命令。如果這些文章能對喜歡Vim的朋友有所益處,我將不勝榮幸。

發展歷史

1976年,Bill Joy開發了vi,他畢業於伯克利大學,後來共同成立了Sun Microsystems公司並成為了Sun的首席科學家。一開始Bill開發了ex,爾後開發了vi作為 ex的visual interface,也就是說vi允許一次能看到一屏的文本而非一行,所以vi也代表visual editor。

1988年,Bram Moolenaar在Amiga計算機上改進一個叫Stevie的VI版本,他稱之為「Vi IMitation」。

1991年11月2日,Vim的首個版本1.14g公開發布。Vim既是開源軟體(Opensource),也是慈善軟體(Charityware)的概念,你可以自由地使用Vim,但鼓勵用戶通過ICCF Holland為烏干達的孤兒做出捐助。

1992,隨著功能逐漸豐富的1.22版本發布,VIM的名稱也想要改成了「Vi IMproved」。相比原始的VI,VIM增加的一項最重要的功能便是多級撤銷,VI只支持一級撤銷。

功能哲學

Vim起初是為在終端中使用而設計的,但現如今已有多種圖形界面提供菜單、工具欄和滾動條。普通用戶可以完全無障礙的使用常用的文本編輯功能。而追求編輯效率的程序員,其它經常處理純文本的人員,Web 開發人員,編寫LaTeX文檔的研究人員,Unix / Linux 系統管理員,也能找到自己需要的特定高級功能。

多模式編輯 Vim設計在不同的模式下,分別進行文字錄入和文字操作。你可在插入模式下,像普通文本編輯器那樣輸入文字;而退回到常規模式,則可以利用命令和快捷鍵對文字進行增、刪、改等等處理。 為了高效使用Vim,我們必須習慣盡量停留在常規模式:只在必要時進入插入模式以輸入文字,然後立刻使用Esc鍵退換到命令模式,這樣雙手不用離開鍵盤就可以繼續對個別乃至整篇文本進行下一步操作。

跨平台 Mac上有MacVim,Windows上有GVim, Linux上有Vim。而且,在不同的平台上可以使用相同的命令和插件完成相同的任務。所以,看似陡峭的學習曲線也同時帶來更大的持續回報。

可度靈活的可配置性 在Vim生態之中,有大量不同的插件專註於完成不同的任務。比如:格式化代碼,自動化備註,整合Git/Github,語法高亮度等等。再配合Vim強大的自定義配置能力,你完全可以按照自己的喜好定製出一個屬於你的開發環境。

強大的搜索功能 Vim可以對文本進行及其複雜的查找和替換,包括對正則表達式(regular expressions)和grep的全面支持。

豐富的幫助信息 不提網上浩如煙海的Vim文檔,只是內置的在線幫助 「:help」 就已經完整的令人髮指!

筆記目錄

第一部分 基礎知識

  • 基本編輯
  • 移動 (Movement)
  • 複製和粘貼 (Copy & Paste)
  • 查找文本 (Find)
  • 替換 (Substitute)
  • 撤銷 (Undo)
  • 列印 (Print & Hardcopy)
  • 幫助信息(Help)

第二部分 高階操作

  • 在詞間移動(Word Movement)
  • 文本對象(Text Objects)
  • 滾動屏幕(Scroll)
  • 寄存器(Regists)
  • 重複命令(Dot Command)

第三部分 模式詳解

第四部分 文字處理

第五部分 圖形界面

  • 狀態行(Status Line)
  • 行號(Line Number)
  • 游標(Cursor)
  • 滑鼠(Mouse)
  • 字體(Font)
  • 菜單(Menu)
  • 工具欄(ToolBar)

第六部分 多文件操作

第七部分 自定義系統

第八部分 代碼開發

第九部分 正則表達式

第十部分 腳本

第十一部分 插件

  • 插件管理器(Vundle)

推薦閱讀:

TAG:文本編輯器 | Vim | Gvim |