Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vim-surround でシングル・ダブルコーテーションどちらで囲むかを切り替えやすくする

$
0
0

はじめに

ruby を使っていると、文字列をコーテーションで囲むとき、場合によってシングルコーテーション・ダブルコーテーションを使い分けることがあると思います。

その際僕は毎回手動で始端と終端のコーテーションを切り替えていたのですが、vim-surroundという Vim プラグインを使うと簡単にできそうだったので、試してみました。

vim-surround とは

カッコやコーテーションといった記号で囲まれた文字列について、囲んでいる記号を簡単に編集できるプラグインです。

例えば以下のようにダブルコーテーションで囲まれた文字列をシングルコーテーションに変更したい時は、

"Hello world!"

プラグインをインストールした上で cs"'とコマンドを打つと、シングルコーテーションに変更してくれます。csは ChangeSurroundings の略です。

'Hello world!'

よりキー入力を少なくしたい

vim-surround の基本コマンドを使うだけでやりたいことはほぼ実現できたのですが、
せっかくなのでよりキー入力を短くしたかったので、以下のコマンドで切り替えられるように設定します。

  • シングル→ダブルへの切り替えを ff
  • ダブル→シングルへの切り替えを tt

手順

vim-surround インストール

vim-surround をインストールします。この例では dein.vimを使っています。

.vimrc
call dein#add('tpope/vim-surround')

キーマップ設定

次に、vim-surrond の関数をキーマップに指定します。Csurrondというのが csというコマンドにマッピングされた関数にあたるのですが、それを新たにffttというコマンドにマッピングしています。

.vimrc
" ダブルコーテーション→シングルコーテーション
nmap ff <Plug>Csurround"'
" シングルコーテーション→ダブルコーテーション
nmap tt <Plug>Csurround'"

こちらで以上です。これで ffttを打つと文字列を囲んでいるコーテーションの種類を切り替えることができます。
キーマップはお好みで変えても良いと思います。

おわりに

今回はコーテーションの切り替えだけでしたが、 vim-surround には他にも機能がありそうなので、チェックしてみようと思います!

参考


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>