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