2011-03-20 89 views
1

我爲Ruby on Rails開發設置了emacs,並希望ECB窗口只顯示我正在處理的項目的目錄。那可能嗎?Emacs ECB ecb-source-path中的一個目錄?

我們假設我在啓動emacs後進入項目目錄。我已將以下內容添加到我的.emacs中:

(defvar start-dir (getenv "PWD")) 
(custom-set-variables 
'(ecb-layout-name "left14") 
'(ecb-layout-window-sizes (quote (("left14" (0.2564102564102564 . 0.6949152542372882) (0.2564102564102564 . 0.23728813559322035))))) 
'(ecb-options-version "2.32") 
'(ecb-primary-secondary-mouse-buttons (quote mouse-1--C-mouse-1)) 
'(ecb-source-path (list start-dir)) 
'(ecb-tip-of-the-day nil) 
'(ecb-tree-buffer-style (quote ascii-guides)) 
'(inhibit-startup-screen t)) 

注意我創建的列表僅包含start-dir。不過,ECB顯示了起始目錄根目錄(/)目錄。

+0

如果使用Aquamacs,除了這些設置,我會建議此設置啓用ECB上下文菜單:http://stackoverflow.com/questions/7541693/ecb-context-menu-in-aquamacs/7591540 – 2011-09-29 02:10:42

回答

2

我想出了一個解決方案,只顯示該目錄從我跑在歐洲央行窗口的emacs:

(defvar start-dir (getenv "PWD")) 
(defvar start-dir-name (car (last (split-string start-dir "/")))) 
(custom-set-variables 
'(ecb-layout-name "left14") 
'(ecb-layout-window-sizes (quote (("left14" (0.2564102564102564 . 0.6949152542372882) (0.2564102564102564 . 0.23728813559322035))))) 
'(ecb-options-version "2.32") 
'(ecb-primary-secondary-mouse-buttons (quote mouse-1--C-mouse-1)) 
'(ecb-source-path (list (list start-dir start-dir-name))) 
'(ecb-tip-of-the-day nil) 
'(ecb-tree-buffer-style (quote ascii-guides)) 
'(inhibit-startup-screen t)) 
+0

「defvar start-dir-name(car(last(split-string start-dir」/「)))」無法在MAC OX上工作 – why 2012-02-05 13:04:18

0

嘗試(setq ecb-source-path (quote "/path/to/project/"))。你目前的設置使得ecb-source-pathnil,你可以看到如果你做describe-variable

+0

我原來的嘗試設置了ecb-source-path到一個包含emacs運行的目錄的字符串,而不是零。另外,問題的關鍵是讓ecb僅顯示emacs運行的目錄,但它顯示了AND根目錄。 – erturne 2011-03-22 11:34:23