しばしば、ある地域の正規表現 "[^] + _"にalign-regexpを使用します。だから私はそれは私がキーにバインドする可能性があるため、私は関数を定義しようと思いました:emacsの特定のregexpのためにalign-regexpをラップする方法
(defun align-members()
(interactive)
(align-regexp " [^ ]+_"))
しかし、EmacsはALIGN-regexpには、3つのパラメータを取ります文句を言います。ドキュメントを見ると、BEGとENDが必要です。私は(interactive)
ものがEmacsの中でどのように動作するかわからないんだけど、私は集まるのドキュメントを読んでから、私はこのやるべきこと:
(defun align-members (BEG END)
(interactive "r")
(align-regexp BEG END " [^ ]+_"))
しかし、Emacsは、それはinteger-or-marker-p
、代わりを期待ALIGN-正規表現のコールスタックのどこかに深い文句無くなった。私は間違って何をしていますか?
コマンドを呼び出す前にC-uを実行してから番号を入力すると、前置引数ではありませんか?私はそれをやっていないので、なぜ空白を避ける必要がありますか? –
@JosephGarvinあなたが正しいです、それは私が接頭引数を理解する方法です。なぜこのような場合に必要なのか分かりませんが、私は不思議です。私はちょうどそれが働くまであなたの機能の異なった修正を試みた。 –
一般的には、接頭引数はインタラクティブな 'Cu'(または同様の)メカニズムを使って提供されるかもしれない関数引数であり、docstringは自然にそのような使用法を強調しますが、 elispで直接提供されます。 (* \)これは*常に*の場合ではありませんが、プレフィックスargが与えられたときに動作を変更するが、実際にはその値を直接関数の引数として使用しないインタラクティブな宣言を記述することもできます。 – phils