问题标签 [vim-fugitive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - gblame:Color 每个提交一个不同的颜色
Git-fugitive提供了一个很棒的blame
视图 ( :Gblame
),如此处所示,提交 ID 显示在最左侧:
在vim
中,所有提交 ID 都是相同的颜色,因此很难辨别哪些行来自相同的提交。如何配置 git-fugitive 以不同颜色显示每个提交 ID?
git - 如何使用逃犯提交当前在 Vim 中显示的文件?
我正在编辑打开的文件,分为三个窗口。我想将它们提交到存储库中。有什么命令可以做到这一点吗?
git - 在 vim 的 vim-fugitive 插件中没有 Gstatus 的输出
我在使用 fugitive-vim 插件时遇到问题,我不知道 Gdiff 试图向我展示什么,但肯定不是差异,但我什至看不到状态。我在 vimcast 中做同样的事情,常识告诉我做什么 - 只需输入 Gstatus 作为命令,但它只是出现空白的新窗口,没有任何内容,除了状态行告诉我我正在查看 .git/指数。
它是通过捆绑安装的,我看到它的更新解决方案存在问题 - 它是 2.2 的最新版本,我的 git 版本是 2.2.2,可能是因为它不能与这个版本的 git 一起使用?
PS 例如 Gblame 效果很好。如果它无论如何都能提供帮助 - 我的 fish shell 命令提示符可以成功地向我显示一个目录的分支。
解决方案更新:
好的,如果有人遇到同样的问题 - 我很乐意自己解决。东西在鱼壳里——它不兼容 POSIX,我假设是这样。如果您将 .vimrc 放入set shell=/bin/bash
所有文件中,则一切正常。所以解决了。
vim - 解决与 3-way diff 的冲突时如何显示“单词级别”的变化?
解决与逃犯的冲突很棒。在阅读 了 Git 中的 Painless Merge Conflict Resolution 之后,我开始思考如何不仅在行级而且在字级上显示更改。
所有示例/案例均基于painless_git_conflicts_resolution 回购。Hub用于使git clone
命令更简洁。
具有残疾diff3
冲突风格的逃犯。
hub clone ryrych/painless_git_conflicts_resolution fugitive_no_diff3
cd fugitive_no_diff3/
git checkout beta
git merge origin/master
vim roses.txt
:Gdiff
结果如下:
问题是您只能看到所有行都以某种方式发生了变化。这个例子很短,但有多少人发现第 3 行中添加了of?
RubyMine 可以解决这个问题,但并非总是如此,它经常给您留下差异标记,并且没有差异突出显示。虽然在这个屏幕截图上没有差异标记,但缺乏“对比”使得解决这些冲突变得非常困难。
启用 diff3 + 显示共同祖先的逃犯:
Show base in fugitive.vim conflict diff stackoverflow 问题让我尝试接受的答案,但解决方案没有改进。
hub clone ryrych/painless_git_conflicts_resolution fugitive_with_diff3
cd fugitive_with_diff3/
git checkout beta
git merge origin/master
vim roses.txt
:split
:Gdiff
[Ctrl][W][J]
:Gedit :1
opendiff 作为mergetool
hub clone ryrych/painless_git_conflicts_resolution opendiff
cd opendiff/
git checkout beta
git merge origin/master
git mergetool
瞧!
当然,这解决了问题,但让我依赖一个仅为一个系统设计的外部工具。总结一下:是否有可能在 Vim 中实现与在 opendiff 中类似的东西?
git - 使用 grep 命令过滤的所有文件中特定行的 git blame
我知道如何在文件中运行 gblame。
我知道如何 grep 目录中所有文件中的内容。
我希望看到包含内容的特定行的 gblame。例子:
我看到一个文件列表。我想归咎于所有主题,并了解谁触及了这些代码行。
vim - Vim 航空公司分行未显示
我已经安装了bling/vim-airline希望我可以在我的状态栏中拥有那个很酷的分支名称。
我按照航空公司回购的说明安装了tpope/vim-fugitive。但是在下载,安装,修改和重启vim之后,我就是无法在状态栏上获取分支。相反,我有这个:
我怀疑我的.vimrc
文件有问题?
以下是与航空公司相关的部分:
PS我是vim的新手,任何建议将不胜感激,谢谢!
ssh - vi/fugitive:Gpush 不退出...有时
我刚开始在我的工作流程中使用逃犯......非常有用!但我似乎遇到了一种奇怪的烦恼,我希望有人可能有解决方案:
当我运行 :Gpush 时,有时控制永远不会返回到 vi。Vi 一直挂在输出上,git push
直到我 Ctrl+C 杀死“它”。我也尝试过安装vim-dispatch,并且在tmux中,结果是git push
窗格永远不会关闭。这更烦人,因为我必须切换到该窗格以 Ctrl+C 它。
奇怪的是,如果 I ps
,我没有看到任何 git 进程正在运行,所以我不确定到底挂的是什么……但是 Ctrl+C 确实杀死了“它”,无论“它”是什么,并且控制权返回给 vi。
我发现了一个提到类似行为的已关闭 github 问题,但从未发布过解决方案……看来问题最终只是“消失”了 OP,因此问题已关闭。
然而,一段时间后,第二个人回复了这个问题,说他遇到了类似的问题,这似乎是在 git 产生某种“凭据缓存守护进程”时发生的。我没有像他那样使用凭证助手,所以这不是我的确切问题......但这让我注意到了其他事情:
我已将 ssh 配置为保持连接打开 5 分钟(ControlPersist 5m
在我的 ~/.ssh/config 中)。如果我有一段时间没有推送,git push
会导致 ssh 产生一个进程来保持连接。这会触发问题。5 分钟后,ssh 退出,这将解决问题并导致 tmux 窗格关闭。如果我在连接仍然打开时再次推送,它工作正常。
所以,问题似乎是当 git 产生另一个进程时。当我在命令行上运行 git 时,这显然不会引起任何问题,那么为什么会在这里引起问题呢?我能做些什么呢?我不想禁用 ssh 持久连接,因为这很有用......
git - 如果我修改了 git 存储库中的文件,请更改颜色或在航空公司上添加指示器
如果我修改了文件并且我没有创建提交,我想要一个指示器。任何想法?
我安装了逃犯,很酷,但我只有分支的名称。
git - 插入模式 Gcommit 逃犯
我正在尝试使用:Gcommit提交。出现一个拆分窗口。我想我应该在那里输入提交信息。但是,当我按“i”进入插入模式时,缓冲区发生了变化,我看到了一些行,看起来像下面的行。
当我再次按“i”时,我回到了我想输入提交消息的窗口。
问题:在这种情况下如何进入插入模式以输入提交消息?
(我正在使用 vim-fugitive 提交 d854197c03c0b027cca41abf86a5557c5473b82f。)
git - vim-fugitive 不显示空白更改
我正在使用 vim-fugitive 的:Gdiff
提交,但它不显示空格更改,所以我不能提交,例如,缩进更改。我没有任何全局 git 配置core.whitespace
,如果我git diff
在 shell 中运行,我会看到空格更改。
任何想法如何使逃犯的差异模式对 ws 敏感?
谢谢。