emacs 绑定键插入另一个
emacs bind key to the insertion of another
我将 paredit-forward
和 paredit-backward
分别绑定到 > 和 <。
这意味着如果我想输入 "something->something-else" 我会输入 "something-" 光标会被传送到屏幕的另一部分,然后输入 "something-else".
我的解决方案是使用 C-.
和 C-,
来插入它们。
我试过这个:
(define-key key-translation-map (kbd "C-.") (kbd ">"))
(define-key key-translation-map (kbd "C-,") (kbd "<"))
前面的命令导致 另一个 paredit-forward 键绑定 因为我正在创建一个键绑定链,如下所示:
C-. → > → paredit-forward
而不是
C-. → > → the "greater than" key is inserted into whatever text box I am in.
这就是我要找的。
谢谢。
键绑定到命令。命令通常是交互式功能,但也可以是键盘宏(字符串或矢量格式)。执行键盘宏会导致 Emacs 执行宏的键序列会导致完成的操作。
(kbd ">")
导致键盘宏 ">"
;所以你已经告诉 Emacs,当输入 C-.
时,它应该做当输入 >
时所做的事情。
通常(在大多数缓冲区中)>
将绑定到 self-insert-command
,因此键盘宏 (kbd ">")
会 简单地插入一个 >
字符,但您已经修改了该绑定。
我相信您想将 C-.
绑定到插入 >
字符的命令。这样的命令是:
(lambda () (interactive) (insert ">"))
您 不需要 将特殊键(例如 C-,
)绑定到插入给定的特殊命令(例如 (lambda () (interactive) (insert ">"))
)字符(例如,>
)。
Emacs 已经提供了一个 general 键,绑定到 general 命令,插入 any字符:键C-q
.
要插入与键盘键(以及其他字符)对应的任何字符,您需要做的就是点击C-q
然后点击该键.
所以你的答案就是这样做:
C-q >
插入 >
C-q <
插入 <
我将 paredit-forward
和 paredit-backward
分别绑定到 > 和 <。
这意味着如果我想输入 "something->something-else" 我会输入 "something-" 光标会被传送到屏幕的另一部分,然后输入 "something-else".
我的解决方案是使用 C-.
和 C-,
来插入它们。
我试过这个:
(define-key key-translation-map (kbd "C-.") (kbd ">"))
(define-key key-translation-map (kbd "C-,") (kbd "<"))
前面的命令导致 另一个 paredit-forward 键绑定 因为我正在创建一个键绑定链,如下所示:
C-. → > → paredit-forward
而不是
C-. → > → the "greater than" key is inserted into whatever text box I am in.
这就是我要找的。
谢谢。
键绑定到命令。命令通常是交互式功能,但也可以是键盘宏(字符串或矢量格式)。执行键盘宏会导致 Emacs 执行宏的键序列会导致完成的操作。
(kbd ">")
导致键盘宏 ">"
;所以你已经告诉 Emacs,当输入 C-.
时,它应该做当输入 >
时所做的事情。
通常(在大多数缓冲区中)>
将绑定到 self-insert-command
,因此键盘宏 (kbd ">")
会 简单地插入一个 >
字符,但您已经修改了该绑定。
我相信您想将 C-.
绑定到插入 >
字符的命令。这样的命令是:
(lambda () (interactive) (insert ">"))
您 不需要 将特殊键(例如 C-,
)绑定到插入给定的特殊命令(例如 (lambda () (interactive) (insert ">"))
)字符(例如,>
)。
Emacs 已经提供了一个 general 键,绑定到 general 命令,插入 any字符:键C-q
.
要插入与键盘键(以及其他字符)对应的任何字符,您需要做的就是点击C-q
然后点击该键.
所以你的答案就是这样做:
C-q >
插入>
C-q <
插入<