Emacs 中是否有一个用户界面允许人们方便地“获取”缓冲区的文件名?

Emacs 中是否有一个用户界面允许人们方便地“获取”缓冲区的文件名?

经常发生这样的情况:我想在另一个地方(缓冲区或不同的 X 程序,例如终端)使用 Emacs 中某个缓冲区中打开的文件的路径(完整路径或基本名称)。我想知道 Emacs“用户界面”中是否有一些预定义的子系统可以将当前缓冲区 ( (buffer-file-name)) 的文件名复制到终止环。

相关内容: emacs-w3m 中有一个简单的命令可以执行类似的操作 ( y-- w3m-print-current-url):它打印 URL 并将其复制到kill-ring。

当然,我可以简单地定义我想要的命令,但我问这个问题是因为我希望学习 Emacs 的一些用户界面子系统,其中包括这种可能性以及其他功能。 (也许,一些缓冲区和路径操作接口。)这样我就会了解Emacs更多有用的功能。

答案1

我这样做:

  1. C-x C-v(查找备用文件)
  2. C-a(移动行首)
  3. C-k(杀戮线)
  4. C-g(键盘退出)

它比使用迷你缓冲区历史记录更快。如果您想要的只是基本名称,则速度更快 - 只需跳过C-a第二步即可。

答案2

在默认设置中复制当前文件名称的最快方法是

C-x C-f             find-file
down                next-history-element
C-SPC C-a M-w       select and copy the minibuffer contents
C-g                 abort find-file

相关内容