2007年8月6日 星期一

Vim 學習地圖

很多 Vim 新手很容易在 Vim 的 Documentation 中暈倒,我想英文大概是許多人無法跨越那條瓶頸的原因,於是我想應該畫個地圖,這樣可以方便各種需求的使用者閱讀。

在這裡分享一下學習技巧,你可以準備一張卡片,然後畫個表格,照你的紀錄方式把看過的、覺得有用的技巧紀錄在上面,並記得分清楚各種模式,使用 Vim 時,如果忘記,就能夠很方便的查看、使用,整理完,這就是你的 Reference Card 了,你可以再整理的更漂亮,甚至拿去護貝。

首先,關於 Vim 的基礎可以在李果正長輩整理的中文教學 大家來學 Vim 開始。官方的英文文件可參閱線上的 Vim Documentation,或是在 Vim 內輸入 :help 進入教學文件,或者開分頁進文件 :tab help 。

一般使用者: 只是用 vim 來修改一些普通的文字檔而已,所以針對最基本的需求,可只看 usr_02.txt 就足夠,此章節提供最基礎的技巧 ( 開檔、寫檔、插入文字、復原、重作 ),但不會提供快速、方便的方法。

繼續往下看的朋友則需要瞭解如何設定基本的 vimrc 檔,參閱: usr_05.txt

另外可參閱一些 vimrc 的說明,如: vimrc 常用設定(問答) , vim 的環境設定 ( vimrc )

進階的 vimrc 設定,如:
有耐心、有閒,想要徹底瞭解 Vim 的使用者: 可以從 usr_01.txt 讀到 usr_45.txt ,還可以把 Basic Editing 、 Advanced Editing 等等全部讀完 ...............

用 Vim 寫程式的使用者: 除了基礎章節外,可參閱 tips.txt 內的 C-editing 章節,此章節提供許多寫 C 程式的秘訣,譬如 找尋變數定義、縮排、編譯、自動完成等等技巧。相關之章節 usr_29.txt , usr_30.txt

給不知道從哪看起的朋友,或是只想挑重點看的朋友

基本技巧:
  1. 若是想要在移動、換頁、修改速度上提昇,可參見 usr_03.txt , usr_04.txt , motion.txt
  2. Vim 提供各種在輸入文字方便的功能,像是內建快捷、自動補齊、複製等,可參見 usr_24.txt , insert.txt , change.txt
  3. 選取區塊、字串等技巧,可參見 visual.txt
  4. 自訂快速鍵: map.txt
  5. 搜尋功能: usr_27.txt
進階技巧: ( 依照實用性排列 )
  1. 分頁功能參見: tabpage.txt
  2. 開啟多個視窗: usr_08.txt , windows.txt
  3. 標籤( Tag )功能: tagsrch.txt
  4. 折疊功能,參見: usr_28.txt , fold.txt
  5. 強大的樣式比對: pattern.txt
  6. 想瞭解更多的設定,參見: options.txt
更細節、進階的東西在此就不說明了。

5 則留言:

  1. 感谢,学了一个月的vim了,都摸不着头脑,差点放弃,看了这篇文章,对学习的方向清晰了很多。

    回覆刪除
  2. 感謝c9s的部落格讓我學到找到許多vim的資源。這邊借花獻佛,vim@wiki中文文檔連結。雖然是簡中,但是有同文堂就可以轉換成繁中來閱讀了。

    回覆刪除
  3. 網誌管理員已經移除這則留言。

    回覆刪除
  4. hi c9s 大大,
    經常在網路上拜讀你VIM 的文章,想跟你請教一個問題,我在 Windows 系統上使用 YouCompleteMe Plugin,當寫 C 時遇到 "." 或 "->" YCM 會列出一些提示,一般來說可以使用 TAB 來依序遍歷這些提示選項,在 Linux 系統下沒問題,可是 Windows 系統只能用 Ctrl + N 或 上下鍵才能,有甚麼方法可以知道我的 TAB 是被哪個 .vim 綁架嗎? 因為我的 scriptnames List 出來滿多的,或者有甚麼方法可以方便找到嗎?

    回覆刪除
    回覆
    1. 你好,如果你 Windows 上裝的 plugin 跟 Linux 上是一樣的,那有可能不是 plugin 的問題..

      檢查看看是不是 supertab, snipmate, xptemplate 之類的 plugin 吃掉了,或是 YouCompleteMe 需要另外設定 Tab 功能鍵?

      因為用 Tab 切換 completion 不是 vim 內建的功能

      刪除