- 更新日: 2014年2月18日
- Vim
Vim で単語・選択範囲を一発で囲む surround.vim の使い方
単語・選択範囲を任意の文字で囲む vim プラグインである surround.vim を入れたので、使い方を学習しました。.vimrc の NeoBundle に以下を書いて導入。
1 2 3 |
NeoBundle 'surround.vim' |
使い方の基本。
・単語・選択部分の両端を囲むには、ビジュアルモードで対象を選択した後、S (Shift + s: 大文字) に続いて囲み文字を入力。
・囲んだ単語の両端の囲み文字を削除・変更するには、d または c の後 s (小文字) を入力、続いて対象の囲み文字を入力。
基本は以上ですが、単語を囲む場合ちょっと面倒いので、私はこのエントリーの末尾に書いた ysiw を使うことにしました。以下、実例で説明。
単語・選択範囲を任意の囲み文字で囲む
例えば、surround という単語を ” (ダブルクォート) で囲む場合。
1. surround 上のどこかにカーソルを置く。
2. Vim のノーマルモードで viw (単語選択)。
3. S (Shift + s) を入力。
4. コマンドラインモード(vim最下部)に入力が移るので、” (ダブルクォート)を入力。
5. “surround” と編集される。
もちろん viw(単語選択)でなく、ビジュアルモードで任意の部分を選択してからでもOK。
両端の囲み文字を削除
“surround” と ” (ダブルクォート)で囲まれた状態から、両端の ” を削除する場合。
1. “surround” 上のどこかにカーソルを置く。
2. ds を入力
3. コマンドラインモード(vim最下部)に入力が移るので、” (ダブルクォート)を入力。
4. surround と ” が削除される。
両端の囲み文字を変更
“surround” と ” (ダブルクォート)で囲まれた状態から、両端の ” を ‘ (シングルクォート) に変更する場合。
1. “surround” 上のどこかにカーソルを置く。
2. cs を入力
3. コマンドラインモード(vim最下部)に入力が移るので、”‘ (ダブルクォート, シングルクォート)と続けて入力。
4. ‘surround’ と ” が ‘ に変更される。
ちなみに、d は delete, c は change と覚えとくと覚えやすいです。diw, ciw とか他のコマンドもこのルール。
ビジュアルモードを使わずに編集
単語の両端を囲む場合、ビジュアルモードで選択する動作が少々かったるい。その場合は以下。
1. surround 上のどこかにカーソルを置く。
2. Vim のノーマルモードで ysiw と入力。
3. コマンドラインモード(vim最下部)に入力が移るので、” (ダブルクォート)を入力。
5. “surround” と編集される。
単語を囲む場合はこっちのほうが楽です。ysiw で viw と S をいっぺんにやってくれる。ysaw でも同じ?みたいです。あと、” (ダブルクォート) を例にしましたが、(), {} など何でもOKです。ysiw → ( とすれば良い。
- Vim の関連記事
- Vimでカーソル下の文字列をgrep(vimgrep)する.vimrc設定
- VimでURLをブラウザで開く
- Vimで正規表現の後方参照を使って置換
- CoffeeLintのインストール・Vimで使う設定
- scss-lintのインストール・Vimで使う設定
- Vimでインデント/タブ幅をファイル拡張子ごとに設定
- RuboCopをVimで使う設定(Syntastic/プラグイン)
- You must install neosnippet-snippets or disable runtime snippets(Vim)
- neobundle#rc() is removed function エラー(Vim)
- VimでSpaceを使った便利なキーバインド用vimrc設定
Leave Your Message!