Vim簡介 - 為何學Vim?
Vim (Vi IMproved)是從vi發展出來的一個文字編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式設計師中被廣泛使用。和Emacs並列成為類Unix系統使用者最喜歡的編輯器。
Vim現在是在開放原始碼方式下發行的自由軟體。它的協定中包含一些慈善條款,建議使用者向荷蘭ICCF捐款,用於幫助烏干達的愛滋病患者.
對於大多數使用者來說,Vim有著一個比較陡峭的學習曲線。這意味著開始學習的時候可能會進展緩慢,但是一旦掌握一些基本操作之後,能大幅度提高編輯效率。
總結而言,vim 具有以下的好處 :
- 所有的 Unix Like 系統都會內建 vi 文書編輯器,且vim可執行於任何實作了C標準庫的系統之上。
- vim符合Unix哲學中的「只做一件事,並做好它」,避免了功能蔓延。
- vim 具有程式編輯的能力,且關於查找的規則表示式regexp(regular express)頗完整。
- 鍵盤使用者將手指保持在預設鍵位上,使編輯時手指移動更少。
- 最潮的是,可以加入編輯器大戰(?),介紹編輯器大戰的維基條目很好笑XD : https://zh.wikipedia.org/wiki/编辑器之战
(橫軸是熟練度,縱軸是編輯速度,沿著線走是時間喔)
安裝Vim
在終端機裡輸入 apt-get install vim 即可(linux)。
vim 的模式
基本上 vi 共分六種,其中最為常見的三種模式為:
- 一般模式(common mode) : 一進入vim就是處於一般模式,這個模式可以移動游標(上下左右)、刪除字元或整列(d)、複製貼上(y, p)等等動作。
- 編輯模式(insert mode) : 按下"i, I, o, O, a, A, r, R"任何一個字母之後進入編輯模式,可以進行輸入編輯,按下Esc回到指令模式。
- 命令模式(command-line mode) : 按下": / ? "任何一個字符進入命令模式,可以搜尋、讀取、存檔、大量取代字元、離開、顯示行號等等,按下Esc回到指令模式。
Vim操作流程概述
- 開檔 : 由終端來開檔 vim test.txt,或先進入 vim 後再開檔,在命令模式下輸入 e test.txt
- 編寫文件 : 按 i 進入編輯模式,就可以編寫文件。例如,游標的移動可以由方向鍵來移動、Backspace 鍵可消去前一個字元、Del 鍵可刪除游標所在處的字元。
- 存檔離開 : 按 Esc 回然後:w 就會存檔,:q 就會離開,:wq,就樣就會存檔後離開。
[用心去感覺] 快速鍵不要硬記,有縮寫可以幫助記憶。例如 : e 是 edit(編輯)、 w 是 write(寫入)、 q 是 quit(停止、離開)。
vim 作弊小抄一覽
很多人設計了漂亮的vim操作指令圖解,除了可以幫助我們學習之外,也可以看出vim的學習曲線真是非常非常陡峭啊...XDD
References
鳥哥的 Linux 私房菜 - 第九章、vim 程式編輯器
http://linux.vbird.org/linux_basic/0310vi.php#vi_vim_why
vgod/vimrc
https://github.com/vgod/vimrc
大家來學VIM(一個歷久彌新的編輯器) 作者:Edward Lee
http://www.study-area.org/tips/vim/index.html