2026.01.11
#vim#tools
blog

Vim標準機能で使いたいものメモ

使い慣れてきた頃に知って驚いた、vimの便利機能を紹介します!

コピー&ペースト系

:%y

バッファ全体をヤンクする。 コマンドラインモードの%で全体選択してヤンク(コピー)する


操作系


検索系

  • /first\|second: 複数の文字列を検索する
  • ; / ,: f[char][char]に移動したとき、次 or 前 の文字に移動する
  • <C-r>/: (コマンドラインモードのみ)前回の検索文字列を挿入する

コマンドラインモード

  • :%s/\(.*\)$/new_\1/g: 全ての行行頭にnew_をつける
    • \1という正規表現で、1番目にマッチした文字列を指定できる
  • :g/[pattern]/d: ファイル全体から [pattern] にマッチする行をすべて削除する
    • g (グローバル) コマンドと d (削除) コマンドの組み合わせ
  • :v/[pattern]/d: [pattern] にマッチしない行をすべて削除する
    • v (インバート) コマンドと d コマンドの組み合わせ
    • 特定の行だけを残したい場合に便利
    • ex) :v/./d -> 空白行を削除する
  • :範囲 normal コマンド: 指定した範囲の行に対して、ノーマルモードのコマンドを実行する
    • ex1) :10,20 normal I//
      • 10行目から20行目までの各行の先頭に // を挿入
    • ex2) :'<,'> normal .
      • ビジュアル選択した範囲の各行に対して、直前のノーマルモードでの変更を繰り返す

マクロの記録・使用

基本操作

  1. q[char]に記録を開始する
  2. 記録したいマクロ操作を実行する
  3. qで記録を終了する
  4. @[char]でレジスタ[char]に記録されたマクロを実行する

詳細

  • @@: 最後に実行したマクロを再度実行
  • 5@a: レジスタaのマクロを5回実行

その他参考