Vim で単語・選択範囲を一発で囲む surround.vim の使い方

スポンサーリンク

単語・選択範囲を任意の文字で囲む vim プラグインである surround.vim を入れたので、使い方を学習しました。.vimrc の NeoBundle に以下を書いて導入。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

使い方の基本。
・単語・選択部分の両端を囲むには、ビジュアルモードで対象を選択した後、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 → ( とすれば良い。

スポンサーリンク
 
スポンサーリンク

Leave Your Message!