【问题标题】:Different git pager options for diff and showdiff 和 show 的不同 git 寻呼机选项
【发布时间】:2019-01-09 12:34:13
【问题描述】:

我喜欢我的标签显示为 4 个空格,为此我有偏好 core.pager = 'less -x4'

我知道此时我在吹毛求疵,但我希望前导选项卡即使在 diff 模式下也是 4 个空格,这显然是最常用的 - 但是由于领先 +-。由于对齐的行,这有点烦人,如果有些没有前导选项卡,它们会比其他的移动 1 列。

我可以使用 less -x1,5 更正差异的显示,以获得 4 个空格的制表符,在第 1 列模 4 上对齐。但是,此选项会导致前导制表符在非差异模式下显示为 1 列,这反过来又非常令人不安。

所以对于两个具体的例子,我如何设置我使用的 git 选项:

  • less -x1,5 用于差异(或真正的补丁显示)命令,例如 git diffgit show HEAD
  • less -x4 用于不显示差异的命令,例如 git show HEAD~1:package.json

我确信对于基本上 diffcat 操作,必须有不同的渲染器,但我无法找到它们的特定选项(尽管它们可能存在,但有很多关于 git 主题的噪音)。我也不想写很多别名,这有点太脏了。那么这有可能吗?

【问题讨论】:

  • 解决这个问题的常用方法是完全避免使用硬制表符:将您的编辑器设置为使用 4 个空格的“软”制表符,键入制表键,然后您会得到每个人都同意的空格格式。这是我为持续不断的制表符与空间之战找到的最佳答案,即使它并不那么令人满意。
  • @torek git 有一些制表符空白意识,我希望它可以使用whitespace.tabwidth 选项或类似的技巧来进行制表符扩展。毕竟它已经完成了输出的着色。

标签: git git-diff git-config git-show


【解决方案1】:

pager.<cmd> 允许为命令设置寻呼机:

git config [--global] pager.diff "less -x1,5"
git config [--global] pager.show "less -x4"

【讨论】:

  • 这很好,尤其是对于这样一个简单的解决方案。理想情况下,我希望某些 show 命令的行为有所不同,具体取决于它们显示的是补丁还是文件。
  • @Cimbali:很遗憾,您无法完全理解。您可以为自己设置一个别名,git showfile 或类似的名称,运行 !git --config pager.show=<settings> show
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 2012-09-03
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多