備忘もかねて、今日Vimで勉強した(遊んだ)内容をまとめておきます。
※ほぼ自分用です。すみません。
それにしても、色々のサイトを見ているとVimをIDEっぽくして使ってたりする人もいて、改めてVimって拡張性高いんだなぁと思い知りました。
あ、うんうんemacsもですよねぇ(よく知らないけど)。
基本編
Vimの移動は、主に以下のようにしておこなう。
アクション | コマンド |
---|---|
上移動 | k |
下移動 | j |
左移動 | h |
右移動 | l |
前の単語末尾|今の単語末尾 | ge | e |
前の単語(先頭)|次の単語(先頭) | b | w |
単語Xの1文字前(前検索)|単語Xの1文字前(次検索) | TX | tX |
単語X(前検索)|単語X(次検索) | FX | fX |
行先頭|行先頭(単語)|業末尾 | 0 | ^ |$ |
前の段落|次の段落 | { | } |
ページ先頭|ページ最後 | gg | G |
とりあえずはFX|fXまでを脳漿の思考だけで打てるようになったらそれだけでもかなり自由に動けるようになりそう、というのが今の感想です。
まあ、Vimのチャートシートはあちこちに落ちてるんで、それらをデスクトップの壁紙にしてたら嫌でも覚えていけそうな気がします。
モード
Vimには、「ノーマルモード」「編集モード」「ビジュアルモード」といったモードが存在する。
- ノーマルモード:カーソルの移動やらコピペやらファイル保存やらを行う
- 編集モード:文字を書いたりする
- ビジュアルモード:文字の選択を行う。ノーマルモードのコマンドも使える
他にも色々あるみたいだけど、とりあえずは上のだけ覚えました。
モード | コマンド |
---|---|
ノーマルモードのコマンド | |
ファイル保存 | :w |
保存して閉じる | :wq |
閉じる | :q |
一文字カット | x |
一行カット | dd |
N行カット | Nd |
一行コピー | yy |
N行コピー | Ny |
ペースト | p |
検索 | /(文字列) |
ミニマクロ | .(ドット) |
(検索など)繰り返す | n |
アンドゥ | u |
リドゥ | Ctrl + r |
編集モードのコマンド | |
編集モードへ | i |
編集モードへ(1文字後) | a |
編集モードへ(末尾) | A |
編集モードへ(先頭) | I |
編集モードへ(1行削除後) | S |
編集モードへ(カーソル以降決して) | cc |
編集モードへ(カーソル~単語Xまで) | cfX |
編集モードを抜ける | esc |
編集モード中にノーマルモードの処理をする | Ctrl+o + コマンド |
ビジュアルモードのコマンド | |
ビジュアルモードへ | v |
ビジュアルモード(矩形選択)へ | Ctrl+V |
文章の整形 | = |
とまあ、ごく一部ですが、これくらいは今日覚えようと頑張ってました。
また「ビジュアルモード」では、「d(カット)」、「y(コピー)」、「I(一括挿入)」などもできるようです。ミニマクロは、その直前にやっていた操作を繰り返すことができます。
つうかなんでこんなコマンド多いの?
上に書いたのは一部で、Vimのコマンドはまだまだあるっぽいです。
いつまでもいつまでも新たなコマンドが出てくるので「なんでこんなあるのさ」とふと思ってしまったのですが、
要はどれだけ少ないコマンドで作業するかというのが原則としてあるようですね。
「でも、覚えるの大変すぎない?」
たしかに大変そうだけど、覚えた時にその分すごい力を発揮するっぽい。
特にいろんなコマンドを使いこなせるようになると「ミニマクロ(.)」をフルパワーで使えるようになるようで、
そのあたりくらいから(きっと)新たな世界が見えるようになるとかならないとか気のせいだとか。
とりあえず今回はこれくらいで、次回からは「オートコンプリート機能」とかをフルで使えるようにしよと思います。