2010-03-19 63 views
2

环境:使用缓冲器表在Emacs看到我在做什么,选择一个缓冲参观等仅供参考,我用相当深的(子)目录组织来组织我的文件。格式化“文件”领域的Emacs缓冲区列表?

当我从同一个子目录打开大量文件时,'文件'字段主要显示所有文件相同的路径名部分,即我目录层次结构中的前2-3层。所以它给了我高层次的信息,这不是很有用。 '缓冲'字段显示我的文件名。这给我低层次的信息太具体。

有没有办法重新设置“文件”字段,以显示我的文件的路径的最有用的部分,也就是最后几个子目录的文件包含在和文件名?从字面上看,也许是路径的最后一个字符,而不是第一个字符?

回答

1

我喜欢ibuffer对于这样的事情在缓冲区菜单。它允许您按照名称对文件名进行分组。

举例来说,我有这个在我的.emacs(从emacs-fu被盗的大部分)。

(require 'ibuffer) 
(setq ibuffer-saved-filter-groups 
    (quote (("default"  
      ("MyProject" 
      (filename . "/path/to/my/project/")) 
      ("Programming" 
      (or 
      (mode . sh-mode)     
      (mode . c-mode) 
      (mode . cperl-mode) 
      (mode . python-mode) 
      (mode . emacs-lisp-mode) 

      ;; etc 
      )) 
      ("Org" ;; all org-related buffers 
      (mode . org-mode))     
      ("ERC" 
      (mode . erc-mode)) 
      ("Jabber" 
      (or ;; jabber-related buffers 
      (mode . jabber-chat-mode) 
      (mode . jabber-mode) 
      (mode . jabber-roster-mode) 
      ;; etc.; all your mail related modes 
      )))))) 

(add-hook 'ibuffer-mode-hook 
     (lambda() 
     (ibuffer-switch-to-saved-filter-groups "default"))) 

(global-set-key (kbd "C-x C-b") 'ibuffer) 
0

这也可能会有所帮助,但是它并没有直接解决你的问题:Buffer Menu+

  • 您可以使用+-来调整BufferSize列,其他列给予更多的空间。

  • 您可以切换显示列TimeMode,给其他列更多的空间。 (您也可以切换Time格式,使其缩短而不删除它。)