12 Star 44 Fork 6

Gitee 极速下载/lazygit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/jesseduffield/lazygit
克隆/下载
Custom_Pagers.md 2.79 KB
一键复制 编辑 原始数据 按行查看 历史
Stefan Haller 提交于 9个月前 . Add missing closing quote

Custom Pagers

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.

Default:

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.

Delta:

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.

Diff-so-fancy

git:
  paging:
    colorArg: always
    pager: diff-so-fancy

ydiff

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.

Using git config

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).

Using external diff commands

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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/mirrors/lazygit.git
git@gitee.com:mirrors/lazygit.git
mirrors
lazygit
lazygit
master

搜索帮助