如何在emacs中获取当前缓冲区的文件名?
我想念的有关Vim的主要功能之一是,它总是将当前文件的文件名保存在%缓冲区中(更多信息)。这样可以轻松启动命令,例如: ;; compile current file :! gcc % ;; source current file (useful when I'm editing .vimrc :source % ;; get the size of current file :! du -sh % ;; etc, etc... 我想在emacs(版本24,如果有任何区别)下具有类似的功能,即具有一种简单的方法来插入在当前缓冲区中打开的文件的名称。 我想做的事的例子 在这里,我描述一些基本用例,以便在我觉得需要这种捷径时可以更好地进行解释 编译:当我输入M-x compileemacs时,要求我输入一个编译命令。我想gcc (current-buffer)轻松进入。 加载文件:编辑.emacs文件时,我想立即加载它以测试更改。我的做法是M-x load-file,然后我总是拼出名字. e m a c s。我想要一个捷径。 启动外部进程:我du -sh仅作为示例说明,我希望在使用以下命令执行Shell命令时也可以使用该快捷方式M-! 我到目前为止发现的 这个问题在这里关于U&L。给出的答案基本上显示了在哪里可以找到缓冲区的文件名,以便可以将其添加到kill-ring。这并不是我要找的东西,我不想在使用文件名之前先手动杀死它。(这两个答案中描述的解决方案在我的emacs中似乎都无法正常工作,并且需要额外的击键操作,这使它们有些痛苦)。 …