如何根据文件名生成emacs自动名称缓冲区?

如何根据文件名生成emacs自动名称缓冲区?,emacs,elisp,Emacs,Elisp,我经常将许多00readme.txt文件加载到emacs中,默认 缓冲区名称“00readme.txt”不是很有用 我使用rename buffer手动将它们重命名为“project1”、“project2”等 我如何告诉emacs:“加载/foo/bar/00readme.txt时, 自动命名缓冲区项目1,而不是00readme.txt“ ;;把这个放到你的.emacs文件中,然后摆弄它,直到你得到你想要的 (defun my-buffer-renamer() (互动) (let();您可能还

我经常将许多00readme.txt文件加载到emacs中,默认 缓冲区名称“00readme.txt”不是很有用

我使用rename buffer手动将它们重命名为“project1”、“project2”等

我如何告诉emacs:“加载/foo/bar/00readme.txt时, 自动命名缓冲区项目1,而不是00readme.txt“

;;把这个放到你的.emacs文件中,然后摆弄它,直到你得到你想要的
(defun my-buffer-renamer()
(互动)

(let();您可能还想看看emacs附带的库,它可以在打开同名文件时将部分目录名添加到缓冲区名中。

下面是
uniquify
的一个很好的配置,这是解决问题的标准emacs方法:

(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)
      uniquify-separator " • "
      uniquify-after-kill-buffer-p t
      uniquify-ignore-buffers-re "^\\*"

您提供的信息使重命名看起来是随机的。您正在加载的文件名与所需的缓冲区名称之间是否存在关联?是否有方法始终使用uniquify,即使没有重复的名称?
(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)
      uniquify-separator " • "
      uniquify-after-kill-buffer-p t
      uniquify-ignore-buffers-re "^\\*"