
関数のキーバインディングを作成したいと思います。end-of-line+
値を渡す-1
島に対して、関数は次のように宣言されます。
- (行末+&オプションn)
以下の最初のスニペットは機能します(パラメータなし)。しかし、別の試み(パラメータを含める)失敗...パラメータを使用したキーバインディングの例が見つかりません。これを行う正しい方法は何ですか?
(global-set-key (kbd "C-s-E") 'end-of-line+) ;; Okay!
(global-set-key (kbd "C-s-E") 'end-of-line+ -1) ;; Fails
(global-set-key (kbd "C-s-E") 'end-of-line+ '-1) ;; Fails
(global-set-key (kbd "C-s-E") '(end-of-line+ -1)) ;; Fails
答え1
アイデアは、目的のカスタム動作を表す新しい関数を構築し、ここにキーをバインドすることです。
どちらにしてもlambda
(「匿名」、所定の位置)またはdefun
(この場合、参照できる名前を指定します。)
(interactive)
インタラクティブな「コマンド」を定義するには、本文の前に追加する必要があります。
たとえば、
... (lambda() (interactive) (end-of-line+ -1)) ...
または
(defun my-end-of-line ()
"Invoke end-of-line with -1."
(interactive)
(end-of-line+ -1))