hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

ビジュアルオペレータを使う


スポンサーリンク


序文ならぬ駄文

最近全然コーディングしてない。
おかげで、一度覚えたコーディングに関するTipsがどんどん記憶の彼方へ。
というわけで、少しずつコーディング時に覚えておこうと思って忘れた機能を思い出すために覚書。
まずは、ビジュアルオペレータについてメモ。

本文

ビジュアルオペレータは、ビジュアルモード(文字選択)時にコマンドと組み合わせて使える操作のこと。たぶん。
例えば、単語を削除する場合であれば、

:diw

で削除できる。C言語等の条件式を変更したいなら、

:cib

で、条件式が全て消えてインサートモードに移行する。


一文字目にコマンド、二文字目に範囲周辺*1の扱い、三文字目に具体的な範囲が書かれている。


まず、一文字目のコマンドだが、以下の4つしか使ったことがない。

一文字目 機能
d 削除
c 変更
y ヤンク
~ 大/小文字変換

多分十分。他に便利なものがあれば教えて欲しい^^;


二文字目は、範囲がセンテンスなのか括弧内なのかで意味が異なる。

二文字目 センテンス選択時 括弧内選択時
a 空白文字を含む 括弧を含む
i 空白文字を含まない 括弧を含まない

aが広く、iが狭いと覚えておけばいい。
aはaround、iはinnerの略か?*2


三文字目は範囲を指定する。二文字目と三文字目によってコマンド適用範囲が決定する。

三文字目 範囲
w 一単語(ワード)
W 空白で区切られた一単語(ワード)
s 一文(センテンス)
p 一段落(パラグラフ)
b 丸括弧()の中身(ブラケット?)
B 中括弧{}の中身(ブラケット?)


よって、先にあげた例の、

:diw

は、「削除を」「空白文字を含まない」「一単語」に対して実行する。
いちいち明示的にビジュアルモードに移行しないですむので意外と便利かもしれない。

最後に

もし正確な情報が欲しいならマニュアルを読むこと:-)


実は意外と覚えやすいんだ、と整理してて思った(ぉぃ

*1:なんていうんだろう。空白文字?括弧だと意味が異なるから表現しにくい

*2:適当です