我更改了Emacs中的設置。現在,無論何時我嘗試從命令行打開文件,它都會在文件頂部打開一個*scratch*
緩衝區。有沒有辦法擺脫這個?或者重置我的emacs啓動設置的方法?打開文件時打開沒有暫存緩衝區的emacs
回答
您可以用M-x load-file〜/ .emacs重新加載您的.emacs
文件。還有其他方法可以做到這一點,請檢查問題How can I load changes to my .emacs without rebooting Emacs?。
如果你認爲你有你的.emacs
文件有問題,請嘗試使用-q
選項打開:
emacs -q somefile
如果按預期工作,你可能有一個錯誤在你的.emacs,以及一個好辦法調試你的.emacs是使用選項--debug-init
:
emacs --debug-init
它會告訴Emacs中提供加載您的.emacs遇到的任何錯誤的堆棧跟蹤,類似:
Debugger entered--Lisp error: (wrong-type-argument symbolp (car n))
(setq (car n) 3)
(let ((n ...)) (setq (car n) 3))
eval-buffer(#<buffer *load*<2>> nil "/home/tjackson/.emacs.tjackson.el" nil t) ; Reading at buffer position 161460
load-with-code-conversion("/home/tjackson/.emacs.tjackson.el" "/home/tjackson/.emacs.tjackson.el" nil nil)
load("/home/tjackson/.emacs.tjackson.el")
(let ((debug-on-error t)) (load user-init-file))
(if init-file-debug (let (...) (load user-init-file)) (error (format "Problems while loading the file %s: %s" user-init-file ...)))
(condition-case err (load user-init-file) (error (if init-file-debug ... ...)))
(if (file-exists-p user-init-file) (condition-case err (load user-init-file) (error ...)))
eval-buffer(#<buffer *load*> nil "/home/tjackson/.emacs" nil t) ; Reading at buffer position 12150
load-with-code-conversion("/home/tjackson/.emacs" "/home/tjackson/.emacs" t t)
load("~/.emacs" t t)
#[nil "....."]
command-line()
normal-top-level()
而這通常可以指出你可能是錯的。在我上面的例子中,我正在使用setq
,它看起來像在let
語句中,它位於文件/home/tjackson/.emacs.tjackson.el
內。在該文件中快速搜索導致我出現錯誤,我可以修復它。
Nick說,它打開了文件頂部的抓取緩衝區(強調我的),這對我來說意味着他使用「emacs foo」調用emacs,並且在這種情況下,foo應該出現在* scratch *之上。從頭開始將存在,但富應該是顯示的緩衝區... – 2010-03-10 16:17:54
@布萊恩謝謝,我已經更新了答案,以反映你的解釋(這聽起來是合理的)。 – 2010-03-10 18:10:18
如果您想重置emacs設置,您可以將當前的.emacs文件重命名爲其他內容以備份 - 然後重新啓動Emacs。
M-x customize-group
initialization
然後,在初始緩衝的選擇,你可以選擇其中:
- 啓動屏幕
- 目錄
- 文件
- 臨時緩衝區
最後點擊保存爲將來的會話。
您也可以將其打開/關閉。 看看這是否有幫助。 (你可能想要做的另一件事是在啓動時只打開一個緩衝區,我不記得如何做到這一點,如果我發現它會發布更新)。
我的~/.emacs.d
文件夾由root擁有並且具有限制性的r/w/x
權限,所以我無法以任何非root用戶身份進行訪問。
確保您的當前用戶具有讀取emacs配置文件/目錄的權限。在目錄
sudo chown -R user:group ~/.emacs.d/
的-R
作品遞歸:
這個固定爲我。
我刪除了我的~/.emacs.d
目錄,併爲我解決了這個問題。
- 1. 在Netbeans中打開臨時緩衝區/暫存區?
- 2. Emacs Tramp暫停/恢復後保存並打開當前緩衝區
- 3. 顯示Emacs中所有打開的緩衝區
- 4. 在Emacs的緩衝區打開一個文件,而在Emacs終端
- 5. Cocoa Emacs打印緩衝區
- 6. 在emacs啓動時打開正常緩衝區
- 7. EMACS:打開新緩衝區時自動運行功能
- 8. Emacs搜索並打開多個文件並在所有緩衝區中搜索
- 9. 使用minizip從內存緩衝區打開文件
- 10. 將所有選定的文件打開爲隱藏緩衝區?
- 11. Emacs重新打開先前被殺死的緩衝區?
- 12. 如何用包含輸入的緩衝區打開emacs?
- 13. 發送bash命令到emacs中打開的終端緩衝區
- 14. 使用垂直分割打開新的Emacs緩衝區
- 15. 告訴Emacs在特定窗口中打開新的緩衝區
- 16. 打開窗口並加載emacs lisp中的特定緩衝區
- 17. 如何使用Emacs中的一個命令打開當前正在打開文件的緩衝區的目錄?
- 18. 命令T在以前打開的緩衝區中打開文件
- 19. 如何計算Emacs中打開的緩衝區/文件的數量?
- 20. emacs查看打開緩衝區作爲樹
- 21. Emacs保持打開大量緩衝區(Clojure)
- 22. 如何在右側窗口中打開emacs-nav緩衝區?
- 23. Emacs - 打開終端仿真器緩衝區功能
- 24. Emacs:默認垂直分割打開緩衝區
- 25. Emacs ido在循環列表中首先打開緩衝區
- 26. Emacs協作緩衝區以錯誤模式打開
- 27. 在Emacs中打開文件後自動進入緩衝區結束?
- 28. 打開在Vim的一個文件沒有它在緩衝區列表表示
- 29. 對'O'DIR打開的文件'寫入'後的用戶緩衝區
- 30. 讓nautilus打開文件到新的gvim緩衝區中?
很可能您已將'initial-buffer-choice'設置爲't',可能是通過定製環境 - >初始化。 – starblue 2012-07-05 07:16:08