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でcoffee scriptの開発環境を整える~vim-coffee-script

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

Vim8.0のコンパイル

By: Udo – CC BY 2.0 目次1 過去のVimを削除2 ソースをダウンロード3 configure4 make && make install5 done 過 …

vimを軽く早く~NeoBundleLazy NeoComplete gitgutter

目次1 NeoBundleLazyをつかう2 NeoCompleteをつかう3 gitgutterを改良版にしてみる NeoBundleLazyをつかう 起動時間の計測 [crayon-5887c36 …

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

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

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

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

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