作为git编辑器的Emacs不加载COMMIT_EDITMSG

时间:2013-08-04 20:19:39

标签: git emacs

我正在使用git(在linux上)并希望使用emacs作为编辑器。但是在git config --global core.editor emacs任何git提交后,在* scratch * buffer中打开emacs并且根本不加载COMMIT_EDITMSG。

如何强迫他们互相合作?那么git commit会打开带有COMMIT_EDITMSG的emacs编辑器吗?

3 个答案:

答案 0 :(得分:1)

执行emacs ./.git/COMMIT_EDITMSG具有相同的行为( scratch 缓冲区已打开)。那是因为.emacs.d文件夹的所有者是root用户。我需要做的只是更改所有者sudo chown -hR logcat:logcat .emacs.d/

答案 1 :(得分:0)

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

export VISUAL=emacsclient

要使此更改成为永久更改,请将此行添加到〜/ .bashrc。

答案 2 :(得分:0)

启动时显示的缓冲区由变量initial-buffer-choice控制。在.emacs文件中将其设置为nil

(custom-set-variables
  ;; ...other variables might be set here
 '(initial-buffer-choice nil))

如果您使用emacs <filename>调用emacs,它现在将在启动时显示文件而不是暂存缓冲区。这也适用于COMMIT_EDITMSG。如果你没有将filenam传递给emacs,它将显示临时缓冲区。

您可能还希望禁用启动画面以在分屏中进行dipslayed。为此,请将以下行添加到.emacs文件中:

(setq inhibit-splash-screen t)