時にはemacsでテキストを調整するために使用されますC-u 70 M-x fill-region
。
..emacs
C-u 70 fill-region
私はemacsプログラミングが初めてですが、しばらくemacsを使用してきました。解決策がある場合はどうするか説明できますか?
答え1
関数の前にプレフィックスを付けると、C-h f
その文書を読むことができます。これにより、fill-region
何よりも次のようになります。
The `fill-column' variable controls the width.
確認してみるとFill コマンドに関する Emacs マニュアルあなたは読むことができます:
塗りつぶしの最大線幅はバッファローカル変数によって指定されます
fill-column
。デフォルト(参照) 現地人)は70です。現在のバッファに設定する最も簡単な方法は、fill-column
コマンドC-x f
(set-fill-column
)を使用することです。数値パラメータの場合は、それを新しい塗りつぶし列として使用します。パラメータと同様に、点の現在の水平位置にC-u
設定されます。fill-column
これがどのようにC-u 70 M-x fill-region
機能するかを説明します。また、パディング幅を設定して設定できることを示しますC-x f
。したがって、引数を必要とする関数を書く必要がないかもしれません。つまり、代わりにC-x f
andを使用できますfill-region
。
それでもこれを行う新しい関数が必要な場合は、次のものを使用できます。
(defun fill-region-ask-width (fill-width)
"Asks for a width and fills the region to it"
(interactive "nFill region to column: ")
(fill-region-width fill-width))
(defun fill-region-width-70 ()
"Fills the region with width 70"
(interactive)
(fill-region-width 70))
(defun fill-region-width (fill-width)
"Fills the region with the given width"
(set-fill-column fill-width)
(fill-region (region-beginning) (region-end)))
これらの機能は次のように説明されます。ドックストリングしかし、ここにいくつかの注意事項があります。
fill-region-ask-width
ユーザーに要求して得られたパラメータを受け入れ、その数を整数(n
)で処理してに渡しますfill-region-prompt-width
。fill-region-width-70
にハードコードされた番号が渡されましたfill-region-prompt-width
。fill-region-width
他の2つの関数の共通点をモジュール化するために使用されるヘルパー関数。インタラクティブに定義されていないため、呼び出すことはできませんM-x
。fill-column
指定されたパラメータを設定して領域を埋めます。
Emacs関数を作成し、それをキーにバインドする方法については、以下を参照してください。Emacs用のElispを学ぶ:4-2課 - Emacsにカスタム関数を追加する。