• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2019-06-07T05:54:29+09:00","default:ryuichi","ryuichi")
* Surround.vim [#d7ee6cba]
#author("2019-06-07T06:30:52+09:00","default:ryuichi","ryuichi")
* Surround.vim テキストを囲む - ys + 範囲 + 囲む文字列 [#k7aac06c]

** ysiw と ysaw の違い [#e6fa9563]

** テキストを囲む - ys [#k7aac06c]
*** ysiw - iw (=inner word) [#i4a8d6fe]

 foo bar baz
 

 
 foo bar "baz"

- カーソルをbazのどこかに合わせる
- '''ysiw"'''


*** ysaw - aw (=a word) [#m907d981]

 foo bar baz
 

 
 foo bar" baz"

- カーソルをbazのどこかに合わせる
- '''ysaw"'''

** 行末まで囲む [#ja2347aa]

 foo bar baz
 

 
 "foo bar baz"

- カーソルを行頭に合わせる
- '''ys$"'''
- ysの後、範囲を$で行末まで指定、文字列を"に指定

** ( や [ で囲む時の前後のスペースを調節する [#k53d4a13]

 foo
 

 
 ( foo )

- カーソルをfooのどこかに合わせる
- '''ysaw('''
- ysの後、範囲をawで単語にして、(で囲む。この時、(はスペースを含む

 foo
 

 
 [foo]
- カーソルをfooのどこかに合わせる
- '''ysaw]'''
- ysの後、範囲をawで単語にして、]で囲むこの時、(はスペースを含まない


** 複数の単語を囲む [#k8f32f82]

 foo = hello, world
 
 ↓
 
 foo = "hello, world"

- カーソルをhに合わせる
- ys3w"
- '''ys3w"'''
- ysの後、単語が3つあるので3wで範囲を指定して、囲む文字を"に指定する

** ビジュアルモードで範囲を指定して囲む [#af0aaf34]

 foo bar baz
 

 
 "foo bar" baz

- foo barをビジュアルモードで範囲指定する
- '''S"'''
- 小文字のsではなく、大文字のSなので注意する

** 参考 [#gbfcaac6]

- テキストオブジェクト https://blog.carbonfive.com/2011/10/17/vim-text-objects-the-definitive-guide/


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS