最初に
いざ、まとめてみると、めっちゃ多くなったので、個人的に最低限必要な便利コマンドをまとめておきます.(とか言いつつ、バカみたいに多い.....)
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を打つ方法 |
最後に
本当は便利コマンドはもっといっぱいあって、奥が深いんですよね.
個人的にワード単位での処理ができるのが面白いんですんが、
それはまた別の記事で(書くとは言っていない.)