Blackbing Playground

moving cursor in VIM

##鍵盤好好用

對電腦工作者而言,滑鼠絕對是很重要的工具,不過在Vim裡頭,鍵盤才是你最好的朋友,但如何利用鍵盤在程式碼之間遊走,而不是只依靠「上下左右」,我們需要記住幾個小指令。這篇也是想整理起來給自己看的,若有整理不詳還請包涵或分享。

##VIM指令鍵

以下列出我常用的指令,太複雜的我也記不起來@@,像是左上下右h j k l我還是不習慣用,還是直接用鍵盤的上下左右,不過這幾個指令也很夠用了。

  • ^ 該行第一個字元
  • <Home> 該行第一個字元
  • $ 該行最後一個字元
  • <End> 該行最後一個字元
  • % 跳至程式碼區塊的開頭或結尾,例如在「{」上按下「%」就會跳到「}」
  • w 跳至下一個字串 (包含特殊字元) 的第一個字元
  • W 跳至下一個字串 (不包含特殊字元) 的第一個字元
  • b 跳至上一個字串 (包含特殊字元) 的第一個字元
  • B 跳至上一個字串 (不包含特殊字元) 的第一個字元
  • e 跳至下一個字串 (包含特殊字元) 的最後一個字元
  • E 跳至下一個字串 (不包含特殊字元) 的最後一個字元
  • gg 文件第一行
  • G 文件最後一行
  • {number}G 跳至{數字}行數,例如「23G」就會跳到第23行

其中w, W, b, B 很實用,用習慣了在追程式碼的時候還蠻快速的。

##搜尋

直接搜尋文件中的字串也很方便,就像按下Ctrl+F會跳出搜尋框一樣。

  • /keyword 直接搜尋文件中的keyword
  • n 搜尋模式中為下一個關鍵字
  • N 搜尋模式中為上一個關鍵字

##Easy-motion

Easy-motion 是更強的快速跳躍,Vim必備元件之一,不過需要注意的是,他預設是用<Leader>鍵來觸發指令,我初次使用時卻覺得異常的慢,後來把Leader_key改掉就變快了,應該是<Leader>鍵有觸發其他的動作吧!

我是設為,

1
let g:EasyMotion_leader_key = ','

所以要做motion時就按下,w就可以做快速跳躍了。

  • ,w 往後跳躍
  • ,b 往前跳躍

##碎碎念

Vim真的是開發者的優秀編輯器,只是初學會的確被一堆指令嚇到,雖然滑鼠很方便,但手不用離開鍵盤真的可以節省更多時間,習慣之後用其它編輯器都會不自覺的想要按指令來處理XD。