gt在其它文件buffer中可以切换tab,在dired buffer中,gt和dired中默认的t冲突,导致无法切换tab,请问这种情况如何处理呢?
无法复现,可能是别的什么包影响了。
在dired中,按t的时候会触发
(dired-toggle-marks)
在evil中按gt时t会触发(dired-toggle-marks)
而不会切换tab
抱歉,我的配置居然没有问题,试了下 emacs -Q 复现了。
搜了下因为 evil 给 dired 特别定义了evil/evil-keybindings.el at master · emacs-evil/evil · GitHub (也即没有绑定 gt, gT)
可以 (setq evil-want-keybinding nil)
或自行绑定
源码中evil定义了t触发dired-toggle-marks
,gt切换tab,这个怎么处理会兼容呢?
这不是 evil-collections 的么,t 和 gt 不冲突,你感觉冲突是因为 evil 在 dired 下没有绑定 gt
1 个赞
多谢回复,请问evil怎样在dired mode下绑定gt呢?
evil源码中已经设置gt,不清楚的是为何会在dired mode中失效
(when (featurep 'tab-bar)
(define-key evil-normal-state-map "gt" 'tab-bar-switch-to-next-tab)
(define-key evil-normal-state-map "gT" 'tab-bar-switch-to-prev-tab))
我上面说了并给出链接了
设置 (setq evil-want-keybinding nil)
之后gt没有生效,还是无法切换tab。怎样让gt在dired mode中切换tab呢?
最小配置没有问题,请在加载 evil-mode 前设置,或说提供你的配置
;;; emacs -Q -l ~/.config/emacs/test.el
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("gnu" . "https://elpa.gnu.org/packages/")
("nongnu" . "https://elpa.nongnu.org/nongnu/")))
(package-initialize)
(package-refresh-contents)
(package-install 'evil)
(setq evil-want-keybinding nil)
(evil-mode 1)
1 个赞
请问这最小配置为何显示symbol‘s function definition is void: evil-mode
改了,加了安装你试下
多谢编辑,刚刚显示package ‘evil-‘ is unavailable
先执行一次 (package-refresh-contents)
或加到安装前面
多谢你的回复!目前gt是可以切换tab的。