Next: , Previous: , Up: 自由自在的移動   [Contents]


3.1.2 單行間的移動

這個部份會介紹一下在編輯單行時 vim 的一些移動方式,基本上這個部份要之後配合 operator 來用會比較好用。 關於 operator 之後會介紹到,現在不需要太清楚。首先來講講如何移動到行首與行尾, 0 會移動到行首, $ 會移動到行尾。 還有另一種移動到行首的方式是 ^ ,只是這個行首的意義有點不一樣, ^ 是移動到游標所在的那一行第一個非空白字元的字,而 0 是移動到第一個字元。 舉個例子,假設游標在 how 的 h 上

         1         2         3
123456789012345678901234567890123
  I want to learn how to use vim.
<-----------------                0
  <---------------                ^
                  --------------> $

值得注意的是 ^$ 在 regular expression 上也是代表行首與行尾的意思,而 regular expression 在搜尋字串上是個蠻方便的工具,可以一起記一下 。 其他的移動方式還有 f, F, t, T ,我個人是覺得這比較適合配合 operator 來用。 ft 是在單行間找字,其代表的意義分別是 find 與 to,它們可以接受一個符號,並找到單行中離游標右方最近的那個符號。 舉個例子,假設游標在 many 的 a 上

Why vim has so many key bindings?
                -->               fy
                ------->          tb

在上面的例子可以看到, f 會讓游標移到所要的符號上,而 t 則是到所要的符號的前一個字元。 而大寫的 FT 則是往反方向找,它們會找離游標左方最近的符號。舉個例子,假設游標在 learn 的 r 上

Why I need to learn so many key bindings?
         <-------                         Fd
     <-----------                         TI

與基本的移動一樣,在前面加上數字作為前綴表示重複幾次。比如說,假設游標在 some 的 m 上

Can we learn some useful key bindings?
  <------------                         2Fn
               ---------->              3te