【发布时间】:2021-02-08 03:55:14
【问题描述】:
我正在尝试使用以下拆分设置 git mergetool 以生成 vimdiff(以及为每个拆分定制的配置):
-
从以下缓冲区中拆分 $LOCAL、$BASE、$REMOTE 和 $MERGED(水平)[完成] - 显示每个拆分的行号 [Todo]
- 仅显示这三个拆分中的缓冲区变量的名称:$LOCAL、$BASE、$REMOTE。 [待办事项]
$MERGED 拆分状态行应显示来自%t的文件名[$MERGED 拆分完成]
我在本地 repo 中使用了这个 git 配置:
git config merge.tool vimdiff
git config mergetool.vimdiff.cmd 'vim +"set number" +"set statusline=%t" -d -c "wincmd J" -O $MERGED $BASE $REMOTE $LOCAL'
git config merge.conflictstyle diff3
git config mergetool.prompt false
- 在上面的配置中,每个拆分都应该显示一个状态行子字符串,但我找不到正确的方法来构建一个正则表达式来将状态行中的文件名减少到三个所需的缓冲区变量名称之一(即“基地”、“远程”或“本地”)。不需要正则表达式,但它似乎是一个很有前途的选择。
- 行号只显示在一个拆分中,但我希望它们都出现在四个拆分中。
经过多次谷歌搜索和多次实验,我仍然无法强制 vimdiff 显示我想要的状态行/数字...我没有使用状态行插件,例如 vim-powerline。如何配置我的 git 选项以按照我需要的方式生成 vimdiff?
我包含了我现有的git mergetool 拆分的屏幕截图。
【问题讨论】:
标签: git vim git-merge vimdiff mergetool