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
-

執筆者:

関連記事

vimperator再び

By: Cheryl DeWolfe – CC BY 2.0 vimperatorはFirefoxをvimライクに操作できるアドオン 目次1 インストール2 日本語ヘルプ3 動画4 チュー …

vimでcoffee scriptの開発環境を整える~vim-coffee-script

環境 CentOS5.8にnodebrewでnode.jsをインストールを参考にubuntu server 12.04にnode v0.6.20をインストールした 目次1 coffee scriptの …

Neosnippetからvim-snippetsをつかう

目次1 導入2 インストールと設定3 感想4 自分のスニペットをつくる 導入 スニペットは断片という意味で、合言葉みたいなものから、定型的な文法を展開するやつ 例えば、[crayon-5a30b810 …

VimFilerはじめました

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

Ubuntu server12.04でneocompleteをつかうためにvim7.4をビルドした〜初夢、美夢

By: jinterwas – CC BY 2.0[/caption]   Ubuntu server 12.04ではapt-getでneocomplete対応のvimをインスト …