有没有办法在Emacs中自动关闭文件名完成缓冲区?

时间:2010-01-03 20:45:19

标签: emacs elisp

例如,当您通过C-x-C-f打开文件时,您可以选择完整的文件名,如果有多个可能的完成,它将弹出一个包含可能的完成列表的完成缓冲区。问题是,在您打开文件后,缓冲区处于切换回正常的窗口,但它没有关闭。有没有什么办法可以在文件打开后自动关闭这些缓冲区?

2 个答案:

答案 0 :(得分:13)

很抱歉在这很晚才进入,但这就是我的方式:

;; Remove completion buffer when done
(add-hook 'minibuffer-exit-hook 
      '(lambda ()
         (let ((buffer "*Completions*"))
           (and (get-buffer buffer)
            (kill-buffer buffer)))))

在GNU Emacs 22.x和23.x

上测试

答案 1 :(得分:7)

虽然它没有直接解决您的问题,您是否将ido-mode视为打开文件的机制?

ido-mode会将C-x C-f绑定到ido-find-file这会让您以交互方式打开文件(在迷你缓冲区C-s中的名称冲突和各种其他漂亮的功能之间进行选择)它是一种更容易查找文件的方法,它将完全摆脱*Completions*缓冲区。