最近、 「Emacs で変数名を繰り返し入力する簡単な方法はありますか?」という質問に出くわしました。スニペットを「オンザフライ」で作成および展開する方法を要求します。また、質問の作成者によって作成され、おそらく彼の質問の結果であるパッケージauto-yasnippetも見つけました。このパッケージはとても気に入っていますが、機能を拡張したいと思っています。このパッケージでは、次のことができます。
次のスニペットを記述します。
convert img$1.jpg -monochrome -resize 50% -rotate 180 img$1_mono.pdf
call aya-create
、新しい行を入力して call aya-expand
: 上記のコードが貼り付けられ、通常の yasnippet と同じように プレースホルダー ( $1
、 、 ...) を置き換えることができます。$2
これは素晴らしい機能ですが、スニペットのコピーを多数作成して拡張文字列を入力する必要がある場合は、あまり楽しくありません。プレースホルダーを展開するために使用されるリスト (複数のプレースホルダーがある場合はリストのリスト) を渡すとよいでしょう。img_1.jpg
ファイルに対して上記のものを呼び出すimg_9.jpg
必要があり、結果を に呼び出す必要があるとimg_a_mono.jpg
しimg_k_mono.jpg
ましょう。したがって、リストを作成します。
(setq foo-list '( '( 1 2 3 4 5 6 7 8 9 ) '( a b c d e f g h i j k ) )
スニペットを書く
convert img$1.jpg -monochrome -resize 50% -rotate 180 img$2_mono.pdf
foo-list
引数として指定して展開関数を呼び出します。[もちろん、次のような関数でこれらのリストをその場で作成することもできますnumber-sequence
]
残念ながら、私はこれを自分でコーディングするのに十分なほどエリプに習熟していませんが、スキルがあり、この機能の使用法を見ている人がいるかもしれません。