我正在使用 lightline.vim我想展示当前的 git 分支。目前,我正在使用 vim-fugitive 这样做, 然而,我根本不使用这个插件,除了在状态行中显示 git 分支。
我的问题是:
有没有办法在不使用 fugitive 的情况下在状态行中显示 git 分支?
我尝试创建一个连接到 lightline 的自定义函数。该函数使用 system
vimscript 函数获取当前的 git 分支。它(没有)工作得很好,除了状态行在每次击键时都会刷新,这会破坏其他一切并使 vim 无法使用。本质上,git 分支是在每次击键时使用 system
函数获取的...
所以这不是一个可行的解决方案。我“可以”做的是创建一个全局变量,说明是否获取了 git 分支,并防止自定义函数在已经获取分支名称的情况下再次获取分支名称。然后每次 MacVim 失去焦点时我都可以再次获取分支名称(不知道如何使用终端 vim 来做到这一点)。虽然这并不理想......
关于如何解决这个问题有什么想法吗?
最佳答案
我创建了一个专注于您想要的功能的插件。
https://github.com/itchyny/vim-gitbranch
可以通过gitbranch#name()
函数获取分支名称。
代码非常小,您可以在一分钟内阅读。
关于git - Vim:在没有 Fugitive 的 lightline 状态行中显示当前的 git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24031715/