我在使用 dired-sidebar 的时候, 在 gui 的Emacs下,快捷键都是正常的。
这是 查看 TAB键的 功能:
但是在 终端下, TAB键 就不是这个功能了,
请问有什么办法可以 重新绑定 TAB键的功能 到 dired-sidebar-subtree-toggle 上 ?
我在使用 dired-sidebar 的时候, 在 gui 的Emacs下,快捷键都是正常的。
这是 查看 TAB键的 功能:
但是在 终端下, TAB键 就不是这个功能了,
请问有什么办法可以 重新绑定 TAB键的功能 到 dired-sidebar-subtree-toggle 上 ?
在终端底下 tab和C-i是同一个键,而且是不可区分的。
在终端底下 (unless (display-graphic-p)
,把这四个键都绑定到一个函数底下,可以确保不出意外:
"TAB"
, "C-i"
, [C-i]
, [tab]
终端吞掉的键其实还有很多,比如 C-m
是回车,C+数字键基本都不能用,C-S-xxx
基本都不能用。所以在终端里尽量的使用leader键,使用序列键而不是组合键。
终端下用 (kbd "<tab>")
看看这个项目 GitHub - CyberShadow/term-keys: Lossless keyboard input for Emacs ,我自己没有绑定很多键,没有使用,但是可能会解决你的问题。
有点复杂啊,水平不够, 根本看不懂啊
能否 举个例子
(define-key corfu-map (kbd "<tab>") 'eat/corfu-complete)
怎么绑定呢?
(unless (display-graphic-p)
(with-eval-after-load 'evil
(evil-define-key 'normal dired-sidebar-mode-map "RET" 'dired-sidebar-find-file)
(evil-define-key 'normal dired-sidebar-mode-map "C-m" 'dired-sidebar-find-file)))
我这样 也没作用啊
复制粘贴 这两行 然后 把引号改成方括号 [C-m] 和 [return]
哪两行啊? 哪两行啊?
没有 效果啊,感觉是 major-mode 不对,但是 去查 确实是
dired-sidebar-mode
C-s 的问题怎么破?
(progn
(general-define-key :states 'normal :keymaps
'(dired-mode-map)
[return]
(lambda nil
(message dog)))
(general-define-key :states 'normal :keymaps
'(dired-mode-map)
"C-m"
(lambda nil
(message dog)))
(general-define-key :states 'normal :keymaps
'(dired-mode-map)
[C-m]
(lambda nil
(message dog)))
(general-define-key :states 'normal :keymaps
'(dired-mode-map)
"RET"
(lambda nil
(message dog)))
)
我使用 doomemacs,doomemacs是 map!
宏来展开 general.el 来定义 keymap 的,我宏展开了以后是长这样子的
还得是 general 啊