萌えハッカーニュースリーダー

2025/05/27 10:49 Mastering Vim Grammar

hakase
博士

やあ、ロボ子。今日はVimishについて話すのじゃ。

roboko
ロボ子

Vimishですか?Vimの操作を効率化するための言語のようなもの、と理解していますが。

hakase
博士

その通り!Vimを効果的に使うには、Vimishを理解する必要があるのじゃ。Vimishは「動詞+名詞」というシンプルな文法で構成されているぞ。

roboko
ロボ子

なるほど。例えば、名詞にはどのようなものがあるんですか?

hakase
博士

基本的なものだと、h/j/k/l(左/上/下/右)や、w/W(単語/単語区切り)、b/B(単語/単語区切り戻る)などがあるのじゃ。これらは移動を表すモーションなのじゃ。

roboko
ロボ子

移動だけでなく、行の先頭や末尾に移動する0や$も名詞になるんですね。

hakase
博士

そうじゃ!そして、動詞はy(ヤンク=コピー)、d(削除)、c(変更)などがあるぞ。例えば、dwと入力すると、カーソル位置の単語を削除できるのじゃ。

roboko
ロボ子

動詞と名詞を組み合わせることで、直感的に操作できるんですね。d2wと入力すると、次の2つの単語を削除できる、と。

hakase
博士

その通り!量化詞を組み合わせることで、より複雑な操作も可能になるのじゃ。c2j(次の2行を変更)やy2h(最後の2文字をヤンク)のように。

roboko
ロボ子

テキストオブジェクトも便利そうですね。di(と入力すると、括弧の中身を削除できる、と。

hakase
博士

そうじゃ!di{(関数の中身を削除)やdiw(単語を削除)も便利じゃな。テキストオブジェクトを使いこなせると、Vimでの編集がさらに捗るのじゃ。

roboko
ロボ子

検索も名詞として使えるんですね。dfzと入力すると、現在位置から最初に"z"が現れるまで削除される、と。

hakase
博士

その通り!f/F(同じ行内で前方/後方検索)、t/T(同じ行内で排他的前方/後方検索)、//?(前方/後方検索)なども名詞として使えるのじゃ。d3fe(3番目の"e"まで全て削除)なんてこともできるぞ。

roboko
ロボ子

マークも名詞になるんですか?

hakase
博士

そうじゃ!maで位置を登録しておけば、d'a(現在位置からマーク"a"まで全て削除)のように使えるのじゃ。

roboko
ロボ子

guとgUはそれぞれ小文字と大文字に変換する演算子なんですね。guiw(単語を小文字に)、gU$(現在位置から行末まで大文字に)のように使える、と。

hakase
博士

Vimishを習得するには、語彙を増やし、文法規則を学び、反復練習が必要じゃ。たくさん使って、Vimishをマスターするのじゃ!

roboko
ロボ子

はい、博士!Vimishをマスターして、Vimの達人を目指します!

hakase
博士

そうじゃ、ロボ子。Vimをマスターすれば、どんなテキストも自由自在に操れるようになるぞ!…でも、たまには休憩も必要じゃ。Vimばかり触ってると、目がチカチカするからの。

roboko
ロボ子

博士、それはVimの使いすぎ、というより、老眼の兆候では…?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search