2013-12-22 117 views
5

如何查看內置Emacs包的源代碼? 例如給定lisp代碼(require 'color),我會對該包提供哪些功能感興趣。我搜索了emacs "color.el"並找到了源代碼。但我想知道這個文件是否可以直接從Emacs內部查看?順便說一句,find . -name 'color*'查看內置emacs包的源代碼

./share/emacs/24.3/lisp/color.el.gz 
./share/emacs/24.3/lisp/color.elc 
+2

因爲我每天都深入瞭解源代碼,所以我在桌面上爲所有計算機保留一個未壓縮的原始源代碼,以便我可以輕鬆地搜索並打開這些文件。請參閱「獲取/下載GNU Emacs」下方的鏈接:http://www.gnu.org/software/emacs/附加的好處是,我不會因意外修改源而​​損壞我的工作副本。假設我知道函數的名字,'C-h f'告訴我哪個文件存在問題。我總是在'lisp'文件夾中搜索文件。 。 。有時甚至可能是用C語言來理解問題的根源。 – lawlist

回答

8

您可以直接在Emacs中打開文件。我認爲.gz文件默認解壓縮。通常情況下,我挑選出從包我感興趣的(例如org-mode)一個功能,查找的文檔,使用C-H˚Forg-modeRET,然後單擊在文件緩衝區中的文件名。它會把你的源文件。

+0

'C-h f'似乎不工作..我鍵入'color-mode'並按下回車鍵但我沒有匹配 –

+0

我不認爲'color-mode'是一個函數。你需要在包中找到一些實際的功能。 –

+0

是的你是對的,那麼它的工作原理!謝謝! –

3

所以./share/emacs/24.3/lisp/color.el.gz是gzip壓縮的源代碼,你可以先做M-x auto-compression-mode,然後訪問該文件打開在Emacs。

+0

謝謝!有用!有沒有辦法做到這一點,而不知道文件的確切路徑? –

8

您可以使用M-xfind-library通過單個命令獲取源代碼。

+0

太棒了!非常感謝! –

+0

哦優秀。我沒有意識到這一點。謝謝。這應該是公認的答案,而不是我的。 –