1

我正在使用 git(在 linux 上)并想使用 emacs 作为编辑器。但是,在git config --global core.editor emacs任何 git commit 之后,在 *scratch* 缓冲区中打开 emacs 并且根本不加载 COMMIT_EDITMSG。

如何迫使他们相互合作?那么 git commit 会打开加载了 COMMIT_EDITMSG 的 emacs 编辑器吗?

4

3 回答 3

1

执行emacs ./.git/COMMIT_EDITMSG具有相同的行为(已打开暂存缓冲区)。那是因为.emacs.d文件夹的所有者是root。我需要做的就是简单地改变所有者sudo chown -hR logcat:logcat .emacs.d/

于 2013-08-06T19:42:47.643 回答
0

启动时显示的缓冲区由变量 控制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)
于 2013-10-06T09:30:48.033 回答
0

如果您使用的是 linux,则无需触摸 ~/.gitconfig 即可更改编辑器。你可以

export VISUAL=emacsclient

要使此更改永久生效,请将此行添加到 ~/.bashrc。

于 2013-08-05T05:42:27.783 回答