我使用git(在Linux上)並且想使用emacs作爲編輯器。然而,在git config --global core.editor emacs
之後,任何git都會在* scratch *緩衝區中提交打開emacs,並且根本不加載COMMIT_EDITMSG。Emacs作爲git編輯器不加載COMMIT_EDITMSG
如何強制他們互相合作?所以git commit會打開加載了COMMIT_EDITMSG的emacs編輯器?
我使用git(在Linux上)並且想使用emacs作爲編輯器。然而,在git config --global core.editor emacs
之後,任何git都會在* scratch *緩衝區中提交打開emacs,並且根本不加載COMMIT_EDITMSG。Emacs作爲git編輯器不加載COMMIT_EDITMSG
如何強制他們互相合作?所以git commit會打開加載了COMMIT_EDITMSG的emacs編輯器?
執行emacs ./.git/COMMIT_EDITMSG
具有相同的行爲(劃傷緩衝區被打開)。這是因爲.emacs.d
文件夾的所有者是root用戶。我需要做的僅僅是更改所有者sudo chown -hR logcat:logcat .emacs.d/
啓動時顯示的緩衝區由變量initial-buffer-choice
控制。在您的.emacs
文件將其設置爲nil
:
(custom-set-variables
;; ...other variables might be set here
'(initial-buffer-choice nil))
如果調用emacs <filename>
Emacs的,現在會顯示該文件,而不是在啓動時的臨時緩衝區。這也適用於COMMIT_EDITMSG
。如果你沒有將文件傳遞給emacs,它將顯示暫存緩衝區。
您可能還希望禁用啓動畫面在分屏中進行調整。爲此,將以下行添加到您的.emacs
文件中:
(setq inhibit-splash-screen t)
「* Messages *'緩衝區中是否有任何錯誤消息? – punchagan
沒有錯誤,我想有一些設置必須將.git/COMMIT_EDITMSG發送給emacs,並且我很懷念它。 – logcat
COMMIT_EDITMSG只是'.git'目錄下的一個文件。 Git所做的就是告訴Emacs啓動加載該文件。需要檢查的事項:1.在您的環境中,也許'emacs'是帶有一些選項的'emacs'的別名。 2.嘗試使用'emacs -nw'(也許在窗口服務器中打開它會導致一些問題)。 3.嘗試簡單地執行'emacs ./。git/COMMIT_EDITMSG' 4.如果您當時已經運行了Emacs的一個副本:請閱讀'emacsclient'。 5.爲什麼不使用'magit'或'vc-git'? – 2013-08-05 05:51:30