git - Vim:在没有 Fugitive 的 lightline 状态行中显示当前的 git 分支

标签 git vim vim-fugitive

我正在使用 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/

相关文章:

git - 插入模式 Gcommit Fugitive

node.js - npm 无法通过 Socks5 代理安装

ios - 代码 5 : How do I create mutiple projects in workspace?

macos - git pull origin master 返回 fatal error : invalid refspec

vim - Gvim-如何去除gvim底部的大白条?

vim - 无法在 Windows 7 上的 gVim 上使用 fugitive.vim

git - 在gitignore中引用多个在线gitignore模板

Vim OmniComplete for D

regex - Vim:忽略映射替换列表中的错误

git - 签署提交时无法在 Vim 上使用 Gcommit(Fugitive 插件)