2012-05-08 41 views
1

我有一個項目,稱之爲'foobar',當我結帳的所有源文件夾「foobar/foobar」。由於頂級foobar目錄除了內部foobar目錄外沒有任何內容,所以它沒有意義,但是這就是最初檢查項目時的情況,它超出了我的控制範圍。這具有讓路徑變得越來越難以閱讀的不幸效果,所以我將頂層foobar重命名爲「foobar-checkout」,然後創建一個名爲「foobar」的鏈接到「foobar-checkout/foobar」的符號鏈接。這樣我可以打開「foobar/source.c」而不是「foobar/foobar/source.c」。如何防止emacs解析路徑中的目錄符號鏈接?

這適用於當我在shell中,當我第一次打開emacs中的文件,但之後emacs將解析符號鏈接。因此,如果我打開source.c並按Ctrl + x Ctrl + f打開一個新文件,它列出的路徑是「foobar-checkout/foobar /」而不是「foobar /」。有沒有辦法讓emacs無法解析符號鏈接,所以我可以享受更短的路徑?

回答

0

我剛剛在GNU Emacs 22.2.1上試過這個,它似乎沒有解決我的符號鏈接。解析符號鏈接是否可能不是vanilla emacs行爲,而是無意中通過文件打開模塊(如ffap.el)引入的?

無論哪種方式,我無法測試我的想法,但它發生,我認爲你可能會覆蓋文件的符號鏈接-P,目前描述爲:

file-symlink-p is a built-in function in `C source code'. 

(file-symlink-p FILENAME) 

Return non-nil if file FILENAME is the name of a symbolic link. 
The value is the link target, as a string. 
Otherwise it returns nil. 

This function returns t when given the name of a symlink that 
points to a nonexistent file. 

如果修改總是返回零,也許emacs不會解析符號鏈接:

(defun file-symlink-p (FILENAME) 
    nil) 

當然,這可能會打破其他一些東西,但也許值得一試。

+0

很有可能它不是一個香草emacs的行爲,我有ido模式和一百萬其他的東西,我會試着用香草配置和回寫... –

0

您可能喜歡使用directory-abbrev-alist或者vc-follow-symlinks

相關問題