Vim 是功能完整且強大的文字編輯器 (Text Editor,以下簡稱 Editor),相信接觸過 GNU/Linux 的伙伴都曾接觸過。相信不少人對于它的印象就如同 COSCUP 2011 的經(jīng)典名句「 第一次用 vi 時進的去出不來」一樣,不過凍仁相信,只要事先做過些功課,便可習得第一成的功力,待大成后,其帶來的便利性是其他的 Editor 難以取代的!
▲ 使用 markdown 語法撰寫鐵人賽文章的截圖。視窗切割及 CtrlP 火力展示,其布景主題為 fu。
我們除了可以在終端機輸入 vimtutor 取得 Vim 使用手冊,也可于網(wǎng)際網(wǎng)絡(luò)上取得不少資源。
▲ Vi 學習曲線圖。
從土法煉鋼、快速移動、加強技巧、使用套件 (plugin) 到打造屬于自己的 Vim 前后得花了不少的時間及心力,但我們可以在各個平臺 (Android, GNU/Linux, iOS, Mac OSX, Windows)、軟件 (Bash, Chrome, Firefox, MySQL, Python, vifm, Visual Studio, w3m) 以及網(wǎng)絡(luò)服務(wù) (Facebook, Gmail) 中發(fā)現(xiàn)它的影子,是個習得一招半式便可打遍天下無敵手的 Editor,對凍仁而言它是個很棒的投資!
部份的發(fā)行版本只會預載 Vi 而沒有 Vim,這時請手動安裝它。
# Debian, Ubuntu on Gnome, Unity
$ sudo aptitude install vim-gnome
# Debian, Ubuntu on KDE, Evilwm
$ sudo aptitude install vim-gtk
# CentOS, Fedora
$ sudo yum install vim-X11
如想取得凍仁完整的 Vim 環(huán)境設(shè)定 (vimrc),請參考 凍仁的 GitHub。
# 下載凍仁的環(huán)境設(shè)定。
$ git clone https://github.com/chusiang/vimrc.git
# 切換目錄。
$ cd vimrc/
# 備份原設(shè)定。
$ make backup
# 安裝。
$ make install
# 開啟 Vim。
$ vim
# 安裝各式的 vim 套件。
:NeobundleInstall
以下設(shè)定可寫入 $HOME/.vimrc,這樣下次啟啟動 Vim 時設(shè)定才會存在。
colorscheme fu
" - local.drx.tw (PHP)
nnoremap <F5> :silent update<Bar>silent !firefox %:p:s?\(.\{-}/\)\{4}?http://local.drx.tw/?<CR>
" - current file (Ex: html, txt)
nnoremap <F6> :silent update<Bar>silent !firefox %:p &<CR>
全文取代。
:%s/old_world/new_world/gc
取代第 5 ~ 10 行。
:5,10s/old_world/new_world/gc
若有設(shè)定自動縮排 (set hls),在貼上程式碼時會有走山的情形,這時可以先切換成貼上模式再貼上。
:set paste
稱職的系統(tǒng)管理者是勤于備份的,在更動設(shè)定檔 (conf) 前一定會先復制一份。在眾多版本中的難以使用肉眼查覺出差異,這時可用 diff, Vim 或 Meld 來比對。
# 在 Vim 底下時,請使用 :diffsplit。
$ vi <file1>
...
:diffsplit <file2>
# 在 bash 底下時,請使用 vimdiff。
$ vimdiff <file1> <file2>
:TOhtml
會產(chǎn)生與 Vim 上一模一樣的 html,對于想用網(wǎng)頁秀出程式碼的人是必備的功能 (范例) 。
$ vi /usr/local/bin/powersave
......
:TOhtml
Vim 是個有門檻的文字編輯器,但凍仁相信只要用對方法,一步一步前進就可以早日駕馭它。建議初學者可以先套前人的 vimrc,并試著修改它,不懂的部份只要 Google 一下相信可以找到不少的解答。
努力學習 Vim,成為一位好的 Vimmer 吧!
更多建議: