gpt4 book ai didi

emacs - emacs中的附加修饰键?

转载 作者:行者123 更新时间:2023-12-04 23:26:35 25 4
gpt4 key购买 nike

我最近一直在修改我的 Emacs 设置,但我遇到了一个开始让我烦恼的问题。我希望能够引入额外的修饰符,如键。为了让事情更清楚,我想要做的是当我处于 dired-mode 时(不接受文本输入,因此可以反弹普通字母)我希望这样当我按住字母 s 时并按 jl光标分别移动到下一个和上一个目录行。有效地制作s键就像一个修饰符。

我已经研究过制作 s应用修饰符,例如 superhyper但这些都用于全局性的事情。这可能吗?如果不是,那就太可惜了。

编辑:

我所追求的似乎有些困惑。如果我定义一个正常的键序列,例如
(define-key map (kbd "s j") 'dired-next-dirline)
然后我必须一直按s每次按 j 之前的键移动到下一个目录行。这是不是 我在寻找什么(不要听起来很生气 :P)我想要 s充当修饰符,我可以保留 s按住键并继续点击j向下移动。

我希望我已经更清楚地说明了这一点。谢谢。

最佳答案

我在代码中挖掘并想出了这个。它绑定(bind) s jmy-dired-next-dirline ,但在你完成之后,只需j再做一次就足够了。任何其他键都会重置临时绑定(bind)。

注意函数set-temporary-overlay-map在 Emacs 24.2 中添加,在撰写本文时尚未发布,因此您需要构建 Emacs from git .

(defun my-dired-next-dirline ()
(interactive)
(dired-next-dirline 1)
(set-temporary-overlay-map
(let ((map (make-sparse-keymap)))
(define-key map [?j] 'my-dired-next-dirline)
map)
nil))

(eval-after-load "dired"
'(progn
(let ((prefix-map (make-sparse-keymap)))
(define-key prefix-map "j" 'my-dired-next-dirline)
(define-key dired-mode-map "s" prefix-map))))

关于emacs - emacs中的附加修饰键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com