在dired-mode或者helpful-mode中,q绑定的方法是quit-window,但是默认buffer只是bury,不会kill。C-u q可以kill buffer,怎么可以默认q 直接kill而不是bury呢?
重新绑定下按键试试?
(define-key help-mode-map (kbd “q”) 'kill-buffer-and-window)
可以实现。多谢啦
如果没有现成的,可以自己定义一个,比如:
(defun quit-window-and-kill-buffer ()
(interactive)
(quit-window 'kill))
(define-key special-mode-map [remap quit-window] #'quit-window-and-kill-buffer)
一般这样的 Major Mode 都会继承 special-mode-map
1 个赞
有两个问题:
- 文档上关于quit-window的参数,第一个参数kill如果non-nil就会kill buffer。我理解是不是要传t?这里的’kill是啥意思
- define-key这一行,#'是什么意思呢?
- 'kill和t都可以,我理解’kill是一个符号,也属于non-nil,是这样吧?
是,docstring 有写,还可以看源码。
'kill
比 t
提供更多信息量,可读性好点。
提示编译器 quit-window-and-kill-buffer
得有个函数定义。
可以不用管,用 'quit-window-and-kill-buffer
更常见。
谢谢啦大佬~
楼主的头像可以换一下吗,对我造成了精神污染
吓得我赶紧点开楼上头像看看:rofl:
吓得我在设置里找了半天黑名单功能