我正在使用 git(在 linux 上)并想使用 emacs 作为编辑器。但是,在git config --global core.editor emacs
任何 git commit 之后,在 *scratch* 缓冲区中打开 emacs 并且根本不加载 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,emacs <filename>
现在将在启动时显示文件而不是暂存缓冲区。这也适用于COMMIT_EDITMSG
。如果您不将文件名传递给 emacs,它将显示暂存缓冲区。
您可能还希望禁用在分屏中显示的初始屏幕。为此,将以下行添加到您的.emacs
文件中:
(setq inhibit-splash-screen t)
如果您使用的是 linux,则无需触摸 ~/.gitconfig 即可更改编辑器。你可以
export VISUAL=emacsclient
要使此更改永久生效,请将此行添加到 ~/.bashrc。