forgit:由 fzf Fuzzy Finder 提供支持的带有预览的交互式 Git 命令

forgit 是一个命令行实用程序,它利用流行的 fzf 模糊查找器提供带有预览的交互式 git 命令。

刚接触 fzf? 这是一个命令行模糊查找器,可用于多种用途。 此交互式命令行过滤器可用于各种列表,例如文件、命令历史记录、进程、主机名、git 提交等。

fzf 非常快,它是可移植的,没有依赖项(它是用 Go 编写的),它具有灵活的布局,并包括各种额外的功能,例如能够在 fzf 内的拆分窗口中预览突出显示的文件(这是 forgit 用于预览的功能)文件)、Vim/Neovim 插件、在 tmux 窗格中启动 fzf 的脚本、键绑定和模糊自动完成。

交互的 git log (glo 使用 forgit 时)查看器与命令行的文件预览,使用 forgit(由 fzf 提供支持)

forgit 是 Bash、Zsh 和 Fish 的 shell 脚本,它利用 fzf 使 git 命令具有交互性,并具有即时预览。
git 已经有一个
-i/--interactive

选项,但 forgit 更直观,利用 fzf 的快速模糊搜索,并带有 Vim 键绑定等附加功能。

forgit 提供以下命令:

  • ga: 交互的 git add 选择器
  • glo: 交互的 git log 观众
  • gi: 交互的 .gitignore 发电机
  • gd: 交互的 git diff 观众
  • grh: 互动互动 git reset HEAD <file> 选择器
  • gcf: 交互的 git checkout <file> 选择器
  • gss: 交互的 git stash 观众
  • gclean: 交互的 git clean 选择器

这是 git add 命令的屏幕截图(
ga

) 由 forgit 提供:

forgit 提供的命令是别名,如果您愿意,可以通过在获取 forgit 之前定义它们(例如在您的
~/.bashrc

或者
~/.zshrc

文件),如果您没有使用插件管理器。 您还可以为 forgit 添加默认的 fzf 选项,以便您可以更改键绑定或布局。 查看 forgit 文档以获取更多信息。

forgit 还包括与一些提供各种增强功能的第三方命令行工具的开箱即用集成。 安装 diff-so-fancy(让你的 diffs 可读以帮助提高代码质量并帮助你更快地发现缺陷)或 delta(git 的语法高亮分页器)以改进
git diff

输出,bat(带有语法突出显示的猫)为 gitignore 提供语法突出显示,以及 emoji-cli 用于支持表情符号
git log

.

您可能会喜欢:z.lua – 一种更快速的目录更改方式(cd 命令在您使用时学习)

这些是默认的 forgit 键绑定:

  • Enter: 确认
  • Tab: 切换标记
  • ?: 切换预览窗口
  • Alt - W: 切换预览换行
  • Ctrl - S: 切换排序
  • Ctrl - R: 切换选择
  • Ctrl - K / P: 选择向上移动
  • Ctrl - J / N: 选择向下移动
  • Alt - K / P: 预览向上移动
  • Alt - J / N:预览下移

安装

要使用 forgit,您需要先安装 fzf。
fzf 在存储库中可用 Fedora、openSUSE Tumbleweed、Debian Buster、Ubuntu 19.04 和更新版本以及 Arch Linux。 您还可以下载 fzf 二进制文件并将其安装在路径中的某个位置(如 /usr/local/bin),使用安装脚本或 Homebrew/Linuxbrew。 有关安装 fzf 和所有可用选项的详细信息,请参阅 fzf wiki 中的说明。

安装 fzf 后,您可以使用 ZSH 插件管理器或手动安装 forgit,方法是克隆其 Git 存储库并在您的 shell 配置中获取它。 您可以手动安装它,如下所示:

1. 将 forgit 仓库克隆到一个隐藏的位置
~/.forgit

文件夹(您显然需要为此在系统上安装 git):

git clone https://github.com/wfxr/forgit ~/.forgit