我在emacs上遇到的一個問題是,它似乎無法很好地處理不同目錄中的類命名文件。例如,如果我不小心,最終會打開20個__init__.py
緩衝區。我一直在做的是使用M-x rename-buffer
並重命名它以指示它在哪個包內。但是,手動操作有點繁瑣。在emacs中處理多個相似命名文件的最佳方式是什麼?
有沒有人有攻擊這個問題的策略?
我在emacs上遇到的一個問題是,它似乎無法很好地處理不同目錄中的類命名文件。例如,如果我不小心,最終會打開20個__init__.py
緩衝區。我一直在做的是使用M-x rename-buffer
並重命名它以指示它在哪個包內。但是,手動操作有點繁瑣。在emacs中處理多個相似命名文件的最佳方式是什麼?
有沒有人有攻擊這個問題的策略?
我喜歡uniquify,其自帶的Emacs:
(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)
(setq uniquify-separator "/")
(setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
(setq uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers (or Gnus mail buffers)
使用這些設置,該目錄被添加到緩衝區的名字,讓您的其中文件是一個跡象。例如,加載文件/some/path/to/Makefile
和/some/path/to/different/Makefile
會導致以下緩衝區名:
Makefile/to (which is /some/path/to/Makefile)
和
Makefile/different (which is /some/path/to/different/Makefile)
uniquify
也處理更新緩衝區名稱時緩衝區被刪除,所以當兩個中的一個Makefile
緩衝區被刪除,另一個被重命名爲Makefile
。
如果你想完全控制你可以重新定義create-file-buffer
。
如果你想完整的文件名也可能是那樣簡單
(defun create-file-buffer (filename)
"Create a suitably named buffer for visiting FILENAME, and return it."
(generate-new-buffer filename))
參考見files.el
。
重新定義標準庫函數並不是一件明智的事情。更好地提醒它如何uniquify。 – 2009-08-18 08:03:17
工程就像一個魅力。謝謝! – 2009-08-17 18:12:51
我也很高興發現uniquify。 – seth 2009-08-17 20:53:04
它默認帶有Emacs Starter Kit。 – 2009-08-18 07:59:39