Lazygit supports custom pagers, configured in the config.yml file (which can be opened by pressing e
in the Status panel).
Support does not extend to Windows users, because we're making use of a package which doesn't have Windows support.
git:
paging:
colorArg: always
useConfig: false
the colorArg
key is for whether you want the --color=always
arg in your git diff
command. Some pagers want it set to always
, others want it set to never
.
git:
paging:
colorArg: always
pager: delta --dark --paging=never
A cool feature of delta is --hyperlinks, which renders clickable links for the line numbers in the left margin, and lazygit supports these. To use them, set the pager:
config to delta --dark --paging=never --line-numbers --hyperlinks --hyperlinks-file-link-format="lazygit-edit://{path}:{line}"
; this allows you to click on an underlined line number in the diff to jump right to that same line in your editor.
git:
paging:
colorArg: always
pager: diff-so-fancy
gui:
sidePanelWidth: 0.2 # gives you more space to show things side-by-side
git:
paging:
colorArg: never
pager: ydiff -p cat -s --wrap --width={{columnWidth}}
Be careful with this one, I think the homebrew and pip versions are behind master. I needed to directly download the ydiff script to get the no-pager functionality working.
git:
paging:
colorArg: always
useConfig: true
If you set useConfig: true
, lazygit will use whatever pager is specified in $GIT_PAGER
, $PAGER
, or your git config. If the pager ends with something like | less
we will strip that part out, because less doesn't play nice with our rendering approach. If the custom pager uses less under the hood, that will also break rendering (hence the --paging=never
flag for the delta
pager).
Some diff tools can't work as a simple pager like the ones above do, because they need access to the entire diff, so just post-processing git's diff is not enough for them. The most notable example is probably difftastic.
These can be used in lazygit by using the externalDiffCommand
config; in the case of difftastic, that could be
git:
paging:
externalDiffCommand: difft --color=always
The colorArg
, pager
, and useConfig
options are not used in this case.
You can add whatever extra arguments you prefer for your difftool; for instance
git:
paging:
externalDiffCommand: difft --color=always --display=inline --syntax-highlight=off
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。