- 概要
- 関数の中身を消したいor選択したい ( i{ )
- 関数の引数指定してる部分を消したいor選択したい ( i( )
- 配列の初期化している部分を消したいor選択したい ( i[ )
- 文字列の中身を消したいor選択したい ( i" )
- タグの中身を消したいor選択したい ( it )
- 参考情報

概要
よく忘れるのでここにメモメモ。。。知っているとちょっと楽できます。
プログラミングしてる時って以下のような動きをすることが多いです。
- 関数の中身を消したいor選択したい
- 関数の引数指定してる部分を消したいor選択したい
- 配列の初期化している部分を消したいor選択したい
- 文字列の中身を消したいor選択したい
- タグの中身を消したいor選択したい
普通に dd とか dw して作業しても何の問題もないですが
こんなときに vim だと楽にできるモーションがあったりします。
知らない人から見ると一瞬で中身が消えたりカーソルが飛んでくれるのでvimに興味持ってもらえる確率が上がるかもしれませんw
関数の中身を消したいor選択したい ( i{ )
使うモーションは i{ or i} です。inner { block って覚えておけば分かりやすいです。
文字通り、今カーソルがいる { と } のブロックを選択するモーションとなります。
これにオペレーションをつけて操作します。
例えば、di{ だと今いるブロックの中身が削除されます。
ci{ だと今いるブロックの中身が消えて、そのまま挿入モードになります。
vi{ だと今いるブロックの中身が選択されます。
下記は、今カーソルが9行目の先頭にいます。

この状態で di{ とすると

となります。
関数の引数指定してる部分を消したいor選択したい ( i( )
使うモーションは i( or i) です。inner ( block って覚えておけば分かりやすいです。
文字通り、今カーソルがいる ( と ) のブロックを選択するモーションとなります。
これにオペレーションをつけて操作します。
例えば、di( だと今いるブロックの中身が削除されます。
ci( だと今いるブロックの中身が消えて、そのまま挿入モードになります。
vi( だと今いるブロックの中身が選択されます。
下記は、今カーソルが7行目の先頭にいます。

この状態で di( とすると

となります。
配列の初期化している部分を消したいor選択したい ( i[ )
使うモーションは i[ or i] です。inner [ block って覚えておけば分かりやすいです。
文字通り、今カーソルがいる [ と ] のブロックを選択するモーションとなります。
これにオペレーションをつけて操作します。
例えば、di[ だと今いるブロックの中身が削除されます。
ci[ だと今いるブロックの中身が消えて、そのまま挿入モードになります。
vi[ だと今いるブロックの中身が選択されます。
下記は、今カーソルが3行目の先頭にいます。

この状態で di[ とすると

となります。
文字列の中身を消したいor選択したい ( i" )
使うモーションは i" です。inner strings って覚えておけば分かりやすいです。
文字通り、今カーソルがいる 文字列 の中身を選択するモーションとなります。
これにオペレーションをつけて操作します。
例えば、di" だと今いる文字列の中身が削除されます。
ci" だと今いる文字列の中身が消えて、そのまま挿入モードになります。
vi" だと今いる文字列の中身が選択されます。
下記は、今カーソルが15行目のダブルクォートの部分にいます。

この状態で di" とすると

こうなります。
タグの中身を消したいor選択したい ( it )
使うモーションは it です。inner tag block って覚えておけば分かりやすいです。
文字通り、今カーソルがいる タグ の中身を選択するモーションとなります。
これにオペレーションをつけて操作します。
例えば、dit だと今いるタグの中身が削除されます。
cit だと今いるタグの中身が消えて、そのまま挿入モードになります。
vit だと今いるタグの中身が選択されます。
下記は、今カーソルが9行目の先頭にいます。

この状態で dit とすると

となります。
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場