•0Guhn
Vim cgn + . 複数置換
#vim#neovim#cgn
原理
| キー | 動作 |
|---|---|
c |
change - 削除してInsertモード |
gn |
次の検索結果を選択(Visual) |
. |
最後の変更を繰り返す |
cgn = 次の検索結果を削除 + Insertモード
基本的な使い方
カーソル位置の単語を置換
* " カーソル下の単語を検索
cgn新単語<Esc> " 置換
. " 次のマッチを置換
. " 繰り返す特定の単語を検索して置換
/target<CR> " 検索
cgn新単語<Esc> " 置換
. " 繰り返すコピーした単語で置換
/oldWord<CR> " 置換する単語を検索
yiw " 置換先の単語をコピー
cgn<C-r>0<Esc> " レジスタ0の内容で置換
. " 繰り返す| キー | 動作 |
|---|---|
yiw |
カーソル位置の単語をコピー (レジスタ0) |
<C-r>0 |
Insertモードでレジスタ0を貼り付け |
チートシート
| 状況 | コマンド |
|---|---|
| カーソル単語置換 | * → cgn新単語<Esc> → . |
| 検索して置換 | /検索語<CR> → cgn新単語<Esc> → . |
| コピーした単語で置換 | /検索語<CR> → yiw → cgn<C-r>0<Esc> → . |
| スキップ | n |
| 前のマッチ | N |
gn vs n
n: 移動のみgn: 選択(Visual)
cは選択範囲を削除するため、gnが必要。
ハイライトを消す
:nohキーバインド登録:
nnoremap <leader>h :nohlsearch<CR>Log
- • 2026-02-03: create