2026.01.11
#vim#tools
blog
Vim標準機能で使いたいものメモ
使い慣れてきた頃に知って驚いた、vimの便利機能を紹介します!
コピー&ペースト系
:%y
バッファ全体をヤンクする。
コマンドラインモードの%で全体選択してヤンク(コピー)する
操作系
- 毎回
nvim .で起動するのをやめ、<C-z>とfgを使う g<C-a>: 矩形選択にて数字部分を選択してから実行すると、連番を作成する- 参考: 中級 Vim 操作
- 矩形選択で
I: 選択範囲に一括でインサート :sort: 並び替え(:sort uでユニークな行のみを並び替える)
検索系
/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行目までの各行の先頭に
//を挿入
- 10行目から20行目までの各行の先頭に
- ex2)
:'<,'> normal .- ビジュアル選択した範囲の各行に対して、直前のノーマルモードでの変更を繰り返す
- ex1)
マクロの記録・使用
基本操作
qで[char]に記録を開始する- 記録したいマクロ操作を実行する
qで記録を終了する@[char]でレジスタ[char]に記録されたマクロを実行する
詳細
@@: 最後に実行したマクロを再度実行5@a: レジスタaのマクロを5回実行