Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在emacs modeline中显示git分支?_Macos_Git_Emacs_Modeline - Fatal编程技术网

Macos 如何在emacs modeline中显示git分支?

Macos 如何在emacs modeline中显示git分支?,macos,git,emacs,modeline,Macos,Git,Emacs,Modeline,默认情况下,模型线类似于: 当我在Git版本控制系统下的目录中工作时,Emacs显示Git master。现在我在文件init-modeline.el中自定义modeline,如下所示: (setq-default mode-line-format (list ;; the buffer name; the file name as a tool tip '(:eval (propertize "%b " 'face font-lock-keyword-

默认情况下,模型线类似于:

当我在Git版本控制系统下的目录中工作时,Emacs显示Git master。现在我在文件init-modeline.el中自定义modeline,如下所示:

(setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "
        ......
))
    (setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "

        '(vc-mode vc-mode)
        ......
))
然后将require'init modeline添加到init.el

现在emacs在emacs modeline中不显示git分支,因此我将“vc模式vc模式”添加到init-modeline.el中,如下所示:

(setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "
        ......
))
    (setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "

        '(vc-mode vc-mode)
        ......
))
现在modeline显示如下:

(setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "
        ......
))
    (setq-default mode-line-format
    (list
        ;; the buffer name; the file name as a tool tip
        '(:eval (propertize "%b " 'face font-lock-keyword-face
        'help-echo (buffer-file-name)))

        ;; line and column
        "("
        "%02l" "," "%01c"
        ") "

        '(vc-mode vc-mode)
        ......
))
它只显示-master。如何显示Git-master

init mode缓冲区中变量vc mode的值如下:

vc-mode's value is #(" :master" 0 1
  (face sml/vc-edited)
  1 8
  (help-echo "Locally modified file under the Git version control system\nCurrent revision: master\nmouse-1: Version Control menu" face sml/vc-edited local-map
         (keymap
          (mode-line keymap
                     (down-mouse-1 menu-item "Version Control" vc-menu-map :filter vc-menu-map-filter)))
         mouse-face mode-line-highlight))

Local in buffer init.el; global value is nil

  Automatically becomes permanently buffer-local when set.
  This variable may be risky if used as a file-local variable.

在您的..init.el缓冲区中显示变量vc模式的值。谢谢,似乎工作不正常,这没有用。artscan要求您告诉我们init.el缓冲区中vc模式变量的值。如果值为-master,则模式行格式良好。如果该值是Git-master,那么您需要确定它在显示时被截断的原因。@phils谢谢。我已经编辑了这个问题。所以我们现在可以看到vc模式只是:master,这解释了为什么Git没有出现。通过比较,我看到了Git:master的值。我猜sml/vc编辑的面负责在模式行中显示:as-。我认为这是第三方的事情,所以同一个库可能负责删除Git前缀。我会尝试禁用它,不管它是什么,看看你是否能再次获得前缀。