vim

vim-surroundでなんでも囲う

投稿日:

 

github.com/tpope/vim-surround

プラグイン名がいつの間にか変わってた

使い方

cs)} )で囲んでいる部分を}で囲みなおす

yss” カーソルのある文を”で囲む

dst カーソルのある部分を囲んでいるタグを削除する

visualモードで選択してからS) 選択部分を()で囲む

覚え方

意味的に「チェンジ ゲッター1!」のノリで叫びながらコマンドを打つといいんじゃないでしょうか

Change Surround )(小カッコ) }(中カッコ)

You Surround Sentense ”

Delete Surround Tags

参照

surround.vimチュートリアルをためす

 

マウスでパッと選択してからSっていうのもわかりやすい

 

rails.vimとの併用

さらにrails.vimを使っているとerbで

yss= で <%= %>で囲む

yss-で <% %>で囲む

とかできる

 

自分で定義する

:help surroundでみるとなにで囲むかは自分で定義できる

例えばvimrcに次のように書いておくと

だと、yss?で <?php ?>で囲んでくれる

Rubyでは

Vを押して行visualモードで選択してから

Siでif(条件は聞かれる)で囲む

Sdでdef(メソッド名は聞かれる)で囲む

Swでwhile(条件は聞かれる)で囲む

Stで100.times do(回数は聞かれる)で囲む

とかできる

リファクタリングするのにEclipseでは囲む機能が便利だったけど同じ感じで後から囲めるのがいい感じ

きっと、erbであとからif文で囲むとかeach文で囲むとかも簡単にできるはず

 

あと、rspecでitとdescibeとか(今回はiとdを使っちゃったので、大文字のIとDで)

これと組み合わせて使いたいのが、gv

前に選択した範囲をまた選択するという便利コマンドなんだけど、「visualモードでpかPを使ったあとは貼り付けた範囲をそのまま選択することができる」

つまり、どこかでヤンクしたあとに、vpgvで貼りつけた範囲をそのまま選択できる

そこで、Sすれば、IとかDとかで囲み放題!

あと、JavaScriptでfunction(){}で囲むとかもできる

 

微妙に便利だったのが

RubyやCoffeeScriptでysslで頭にデバッグプリントをつけてくれる(残念だけどはずすのはsurrondではうまくいかないからuとか) ただし、JavaScriptは;をよけて選択しないといけないから微妙だけど;;

あと試作中なのが

railsのサーバログって見にくいからデバッグプリントを見つけやすいように50文字の-を5行だしてからデバッグプリントを出すという(だけどまだうまくインデントが機能しない)

Better ErrorsとRailsPanelがあればもういらないかな

 

Gemfileでgroupで囲む

 

複数行の各行にまとめてsurroundを適用する

複数行の各行にまとめてsurroundを適用するにはnormalコマンドを併用すればOK

Vで複数行選択してから :normal yss<div>などとすればOK

 

この本に載ってたTipsです

 

zencodingでも各行ごとにタグ付

ちなみにVで複数行選択してからC-y,で li* と最後に*をつけると各行ごとにタグ付してくれる

-vim
-

執筆者:

関連記事

vimでgit diffをビジュアル表示〜vim-gitgutter

目次1 インストール2 使い方3 fugitive.vimでdiff インストール

使い方 こんな感じで’ガター&#821 …

Nerdtreeでファイル操作〜vim

Nerdtreeはvimでファイル操作ができる定番プラグイン   目次1 設定など2 ファイル操作3  grep検索4 ウガンダに寄付しました 設定など [crayon-58fd391ce4 …

VimFilerはじめました

By: Sig. – CC BY 2.0   VimFilerはvimでつかえるファイラー NerdTreeというファイラーもあって今まではこっちを利用していた 自分にとっては、 …

Chef SoloでUbuntu Server12.04にVim7.4をコンパイルして自分の環境をインストール

By: Derek Gavey – CC BY 2.0 目次1 情報2 Workstation(操作する側)にchefとknife-soloをインストールする3 Chefリポジトリをつくる …

vimでソーシャルなスニペットメモをはじめる~gist.vim

  ネットワークで固定IPの設定ってどう書くんだっけ?とか久々にMySQLを使ったらプリビレッジのつづりが出てこないorzとか そういうのはそのたびにググったり、evernoteを使ったりし …