神器! delta 一款git diff 和 grep增强命令行工具

本篇主要介绍一下 delta 一款 git diff 命令行工具


神器! delta 一款git diff 和 grep增强命令行工具


概述

delta 是一款 可以增强 git diff 的命令行工具 , 可以通过它来查看 git 的比对情况  支持一下命令

  • git diff

  • git show

  • git log -p

  • git stash show -p

  • git reflog -p

  • git add -p


delta 官方文档: https://dandavison.github.io/delta/introduction.html

神器! delta 一款git diff 和 grep增强命令行工具

delta github地址: https://github.com/dandavison/delta


安装

delt 提供了不同的版本 我这里选择 mac 直接点击下载即可安装


神器! delta 一款git diff 和 grep增强命令行工具

下载后解压 把可执行文件丢到 /usr/local/bin下面即可

sudo mv delta /usr/local/bin


快速开始

把 以下内容放入 ~/.gitconfig 文件中

[core]
  pager = delta

[interactive]
  diffFilter = delta --color-only

[delta]
  navigate = true

[merge]
  conflictstyle = diff3

[diff]
  colorMoved = default

此时 就可以执行 git diff 命令看到效果了 虽然这种方式看上去不够明显 ,接下来慢慢优化一下  

神器! delta 一款git diff 和 grep增强命令行工具


Line numbers 显示行数

可以通过配置 line-numbers = true 展示行数信息

[delta] 
  line-numbers = true

此时再次执行 git diff 可以看到 行数已经显示出来了

神器! delta 一款git diff 和 grep增强命令行工具


Side-by-side view 并排显示

可以通过配置 side-by-side = true 打开并排显示效果

[delta]
side-by-side = true

此时再次执行git diff 可以看到 对比已经 并排显示了

神器! delta 一款git diff 和 grep增强命令行工具


Grep 增强 输出到管道

如果git grep 带了分支 可能配置上的style会有点问题 蛮奇怪的

Grep功能可以增强 git grep 的输出 让我们能够更加便捷的操作

git grep: 命令是一个在代码仓库中查询 对应信息的 指定特定的分支查询,效果如下:

git grep KubernetesClient master

可以看到 给我找到了这个KubernetesClient所用的地方, 但是弹出一个交互的界面 还需要我手动结束这个交互界面 有点麻烦

神器! delta 一款git diff 和 grep增强命令行工具

当我们使用了 Delta 后,可以看到 不会在弹出交互界面了

神器! delta 一款git diff 和 grep增强命令行工具


grep-match-word-style : 修改匹配的样式

delta 中所有的 *-style 都可以按照一样的套路去修改, 如下我把 匹配的颜色改一下 改成红色的

[delta]
grep-match-word-style = bold syntax "#FF0000"

再次执行 就可以看到 匹配到的词 就变了颜色

神器! delta 一款git diff 和 grep增强命令行工具

下面是官方网站是提供的  可配置有如下  (如果你了解git grep 那么应该可以看的懂)

  • grep-match-line-style

  • grep-match-word-style

  • grep-context-line-style

  • grep-file-style

  • grep-line-number-style : 匹配到的行数的样式 (git grep -c 显示行数)


diff-highlight and diff-so-fancy emulation 查看激活的配置

可以通过 如下命令查询 激活配置 便于你调试你的配置

delta --diff-so-fancy --show-config

神器! delta 一款git diff 和 grep增强命令行工具



Navigation keybindings for large diffs 大diffs 的快速移动

大概意思就是说 当你有很多diff文件变动的时候 可以通过 快捷键  n  和 N 快速跳动查看

n: 向下跳动

N: 向上跳动

其实: 类似vim中的  jk也可以 只不过是一行行的


Supported languages and themes  支持的语言和主题

显示 支持的语言和 主题

比如:

delta --list-syntax-themes

可以看到 显示了可用的主题

神器! delta 一款git diff 和 grep增强命令行工具


可以通过 如下设置更换主题

[delta]
syntax-theme = GitHub #设置成 GitHub主题 效果就如下了,但是要注意你的终端工具的背景要是Light的才适合


神器! delta 一款git diff 和 grep增强命令行工具


line-numbers-left-format /  line-numbers-right-format

如果开启了 line-number 当side-by-side 的时候默认是 两边都展示了行数,其实没必要 我们可以只展示一边的行数

line-numbers-left-format = "{nm:^4}⋮" #左边默认就是这个配置 可以不用配置, 也可以进行修改比如 {nm:^4}⋮ 改成 "{nm:^4}:"

line-numbers-right-format = "│ " #这个就是把右边的行号去掉了并且保留了 分割线 |

再次执行 可以看到清爽了一些 只有左边展示了行号 右边只有分割线了

神器! delta 一款git diff 和 grep增强命令行工具


总结

本篇主要介绍了 Delta 是什么 并且它的一些配置 ,详细可以通过 delta –help 查看一下帮助文档 , 上面介绍的只是Delta的一部分 官网中有很多其他的功能 比如和 tmux 的结合 等等. 有机会再聊吧


原文始发于微信公众号(Johnny屋):神器! delta 一款git diff 和 grep增强命令行工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/89844.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!