|
|
||
以下のようなイメージ。誰か作りませんか?
関係ないけど、vim 特集を連載にして欲しい。
WEB+DB PRESS Vol.53 - basyura’s blog
技術評論社さんにメールなりアンケート葉書なりで要望を送ってください。その方が編集部の方が企画を通し易くなると思います。
基本的な文法は operator + selector + object となる。
大人の text-object トレーニングDS - 写経日記
selectorなどというものは存在しない。Vimが標準で提供しているtext objectsは大まかに「a系」と「i系」に分けられるが、それはたまたまそうなっているだけであって、その枠組みに納まらないものはいくらでも定義できる(例: textobj-datetime / textobj-lastpat)。
基本は「{operator}{motion}」であり、text objectはmotionの変化形に過ぎない。
でも毎回 qx と q で recording する必要はなくて、わかるんなら :let @x="Yp^A" ( "^A" は <C-k><C-a><C-a> で入力する ) みたいに直接書いちゃってもいいわけだよな。
complex repeat - KBDAHOLIC - やぬすさんとこ
普通は<C-v>{char}。
<C-k>{char1}{char2}はdigraphの入力であって、その使い方は本来の用途とは全く違う。<C-a>が入力されているのは偶然にすぎない。
スクリプトで書くなら普通は:
let @x = "Yp\<C-a>"
てことは最終的に register 消費か mapping 設定を書くかという問題になるわけで、
complex repeat - KBDAHOLIC - やぬすさんとこ
そもそもrecordingは対話的に記録/実行するもの。その動作も実行環境に依存するためポータビリティはない。それにrecordingはたまたま記録場所としてregisterを使っているだけであって、registerの用途はrecording以外にもある。filetype pluginなどスクリプト側でセットアップして任意のレジスタを潰すことは通常ありえない。
ショートカットキーを定義するなら"named" key mappingsを定義しておいてユーザーが実際にタイプするkey mappingsは別途定義することが常道。