0と1でできたブログ

プログラミングなどの個人的なメモ。他の人の参考になれば嬉しいです。

surround.vimの使い方メモ

お知らせ: 新しくホームページを作りました! これから記事を増やしていくつもりなので, 良かったら見てみて下さい!! ホームページはこちらになります.

surround.vimの使い方メモ

ずっと使いこなしたいと思っていたのですが、あまり操作法がわからずという感じでした。ひとまず、基本的な操作が分かったので、自分の復習もかねて、まとめてみます。

導入はNeoBundleだととても簡単で、おすすめです!以下の一文を.vimrcに書いて、:NeoBundleInstallをするだけ!

NeoBundle 'surround.vim'

では、導入はされていることにして、まず次の一文から始めます。

Hello World!

まずはこの文の全体に'(シングルクォート)をつけます。
方法は、yss'と打ちます。もちろんノーマルモードの状態で打ちます。

'Hello World!'

になりました。
次は'(シングルクォート)を消します。
ds'と打ちます。

Hello World!

元に戻りました。

次は、ヴィジュアルモードで囲んだ部分を'(シングルクォート)で囲って見ましょう。まずHの上でvを押します。その後lを押して、oの上までカーソルをずらします。カーソルがoの上に来たら、S'(Sは大文字!)を押します。

'Hello' World!

こうなりました。では、次は'で囲まれた部分を消してみましょう。 カーソルが'Hello'の上のどこかにある状況で、di'とうてば、

'' World!

みたいになります。
ではちょっと戻って、

'Hello' World!

という状態にしましょう。今から、'(シングルクォート)"(ダブルクォート)に変えます。カーソルが'Helloの上の何処かにある状態で、cs'"と押します。

"Hello" World!

となりました。

あと、一つの単語だけを'で囲みたい場合は、ysiw'とかもできます。たとえば上の文の状態のときに、Helloの上にカーソルを持ってきて、ysiw'とすると

"'Hello'" World!

となります。

基本操作はこんな感じです。最後に、表にまとめます。

コマンド 動作
ds' 文を囲んでいる'を消す
di' 'で囲まれた部分を消す
cs'" '"に変更
S' ヴィジュアルモードで選択した部分を'で囲む
yss' 文を'で囲む
ysiw' カーソルがある単語を'で囲む

'の部分はいろいろ変えられます。タグを付けたいときは、'の代わりにtとうつと、コマンド入力欄にフォーカスが移動して、<と書いてある状態になります。なのでそこでpとおして、enterを押すと、

 <p>Hello World!</p>

となります。
タグを消したい場合は、dstとすれば消えます。

ちなみに、パッと覚えにくかったので、覚えるときは、
ds ・・・ d(delete)s(surround)
di ・・・ d(delete)i(inside)
cs ・・・ c(change)s(surround)
yss ・・・y(yank)s(surround)s(sentence)
ysiw ・・・ y(yank)s(surrond)iw(inner word)
みたいに覚えてます。ホントは違うかもしれないけど、覚えやすかったので(笑)


記事とは関係ないのですが,webアプリケーション開発の練習で,まとめのまとめサイトを作ってみたので,よろしければ見てみてください. (いろんなまとめのまとめ, 恋愛・結婚の2chまとめサイトのまとめ)