Vim是一款簡單而強大的文字編輯器,它能以簡單的方式完成複雜的操作。Vim(http://www.vim.org/)是一款開源軟體,提供Windows, Linux和MacOS上的多平台的版本。MacOS上的Vim稱為MacVim(http://code.google.com/p/macvim/)。
最近開始迷上Vim,喜歡它的操作模式,更喜歡它花花綠綠的樣子。下面分享一下自己的學習體會吧。
一.模式
Vim與其他文字編輯器最大的不同是模式的概念,Vim定義了三種模式:normal, insert以及visual。Vim利用不同模式的劃分,不同的操作隸屬於不同的模式,也就是說某種操作只能在某個模式下發生,這樣在某種程度上簡化了操作。模式的概念對於剛接觸Vim的人來說可能有些不適應,不過一旦熟悉之後,我保證你會喜歡上它,漸漸的你會成為Vimmer。下面看一下這三種模式的具體定義:
- Normal mode:Vim的預設模式,在該模式下運行命令。
- Insert mode:在該模式下插入/寫文本。
- Visual mode:在該模式下可以選擇一塊文本地區,並對該地區內的文本執行命令或編輯操作。
不同模式間的切換非常簡單。從Normal到Insert只需按i或I,而從回到Normal只需按<Esc>。從Normal到Visual只需按v或V,而回到Normal也只需要按<Esc>。當然Vim還提供的更多的模式間切換的方式,見,圖片來自《A Byte of Vim》(http://www.swaroopch.com/notes/Vim)。
二.丟掉滑鼠——移動游標
在Vim上工作你可以完全拋棄滑鼠,只用鍵盤就可以完成全部工作,因為Vim提供了一種多種利用鍵盤移動游標的方式。下面來看看其中的幾種。這部分涉及的操作在Normal模式下完成。
- 左下上右:分別對應h,jk,l。如果你想一次移動多步,只需在相應命令前加上數字即可,如2h向左移動兩步。
- 開頭與結尾:按G跳到最後一行,按1G跳到第一行。在前面加上數字則跳轉到相應的行,如50G跳到第50行。
酷不酷?下面還有更酷的!
- 跳轉到下一個詞:按w,如果想返回剛才的位置只需按b。和前面類似,若想移動多個詞只需指定數字首碼即可。
- 跳轉到下一句:按),按(返回剛才的位置。
- 跳轉到下一段:按},類似的按{返回前一次的位置。
- 跳來跳去: ctrl-o跳回前一次的位置, ctrl-i跳向下一次的位置。
- 標記位置:使用ma將一段文本中某個位置標記為a,按'a跳到該位置所在的行,按`a跳到標記a所在的具體位置。可以使用的位置標記有a-zA-Z,共52個。
三.學會help
Vim中的操作及命令有很多,不可能全都幾下來,這是我們就要求助於Vim內建的:help了,如:help various-motions 。或者你去google或stackoverflow提問。
參考資料:
1.http://www.vim.org/
2.http://www.swaroopch.com/notes/Vim
3.http://code.google.com/p/macvim/