最初に
いざ、まとめてみると、めっちゃ多くなったので、個人的に最低限必要な便利コマンドをまとめておきます.(とか言いつつ、バカみたいに多い.....)
vimにはモードがあるのはご存じ?
- ノーマルモード
- インサートモード
- ビジュアルモード
- コマンドモード
ノーマルモードがモードの軸になっています.
Escを押せば、ノーマルモードに戻ります.
(迷ったら、連打ダダダダダダ....)
以下、:
が書いているやつがコマンドモードです.
例 :noh
検索でハイライトしてるやつを消す.(nohlsearch)
あと、ノーマルモードでの移動がhjkl
でできるのが、面白いですよね.
なれてしまうと、キー移動が面倒になってきますよ(笑)
コマンド一覧
ノーマルモード
モード変更
おすすめはo
ですね.行末にいなくても改行できるのが神
cmd | function |
---|---|
i | インサートモードへ |
o | 下に行を追加して、インサートモードへ |
v | ビジュアルモードへ |
C-v | ビジュアルモード矩形 |
移動
C-u
C-d
は意外と便利で、長文の移動は流石にhjkl
ではキツいっす.
cmd | function |
---|---|
gg | 最初の行に移動 |
G | 最後の行に移動 |
C-u | 1ページ上に移動 |
C-d | 1ページ下に移動 |
0 | 行頭に移動 |
$ | 行末に移動 |
zz | 現在のカーソル位置を中心に持ってくる |
w | 1ワード後ろに移動(ワード先頭) |
e | 1ワード後ろに移動(ワード末尾) |
b | 1ワード前に移動(ワード先頭) |
b | 1ワード前に移動(ワード末尾) |
編集
C-r
がredoなんですね.あと、数字の増減がコマンドで出来るなんて、あと、vimrcの記述で数字だけじゃなくて、文字も増減できるんですよ.(a->b->c...)
cmd | function |
---|---|
u | 1つ前に戻る (undo) |
C-r | 1つ先に進む (redo) |
x | カーソル位置の文字を削除 |
dd | 1行削除 |
yy | 1行コピー (yank) |
p | コピーしたやつをペースト (paste) |
C-a | 数字をインクリメント |
C-x | 数字をデクリメント |
検索・置き換え
ここは''で囲まれたやつは変更できる
cmd | function |
---|---|
r '1word' | カーソル一の1文字を'1word'に置き換え |
/'word' | 'word'で検索してハイライト |
:%s/'before'/'after'/ | 'before'から'after'に置き換え |
その他
cmd | function |
---|---|
:w | 上書き (write) |
:q | 終了 (quite) |
:q! | 上書きせずに強制終了 |
インサートモード
コレはMakefileくらいでしか使わないですけど
cmd | function |
---|---|
C-v + tab | vimrcの設定でtabきーがスペースになっちゃた時にtabを打つ方法 |
最後に
本当は便利コマンドはもっといっぱいあって、奥が深いんですよね.
個人的にワード単位での処理ができるのが面白いんですんが、
それはまた別の記事で(書くとは言っていない.)