跳转到内容
来自 Arch Linux 中文维基

kitty 是一个基于 OpenGL 的可编程终端模拟器,具有真彩色,连字支持,键盘输入和图像渲染的协议扩展。它还提供了类似于 GNU Screentmux 的平铺功能。

安装

安装 kitty;若要获取开发版本,请安装 kitty-gitAUR

用法

可以通过各种 Ctrl+Shift 快捷键来创建新的选项卡和窗口并调整其大小。布局可通过 Ctrl+Shift+l 切换,并可以保存/恢复。

全键盘模式可区分 Ctrl+iTab 等歧义键。此外,新的文本效果(例如,波浪下划线)也可用于支持它的应用程序。

Kitten

kitty 有一个用于创建子程序的框架,称为 kitten(小猫)。所有 kitten 命令均以 kitty +kitten 为前缀,很方便作为 shell 别名。

icat

这个 kitten 基于 kitty 图形协议。其依赖 ImageMagick。要在终端内显示图像:

$ kitty +kitten icat image.jpg

其也可以在终端内显示 gif 动图。除了图片文件,您也可以传递目录或图片 URL。这也可以在远程服务器上通过 ssh 显示图片。一些应用程序像 rangerneofetchAUR 使用该协议在终端内显示图片。关于更多信息,请参阅官方文档

diff

这个 kitten 需要 gitdiffutils 被安装。此外,您也可以安装 python-pygments 来获得语法高亮效果。要显示两个文件的差异:

$ kitty +kitten diff file1 file2

这个 kitten 显示了图形或文本的差异,也可以通过 ssh 使用,您可以用一个目录代替文件来显示递归差异。关于更多信息,参阅官方文档

clipboard

这个 kitten 用于读写系统剪贴板,可以跨 ssh 使用。要将标准输入复制的剪贴板:

 $ echo "Hello" | kitty +kitten clipboard

将当前剪贴板内容输出到标准输出:

 $ kitty +kitten clipboard --get-clipboard

默认情况下,这条命令会提示请求权限,要禁用该提示,请在配置文件中编辑 clipboard_control 选项:

~/.config/kitty/kitty.conf
	
clipboard_control write-clipboard read-clipboard

关于更多信息,请参阅官方文档

配置

kitty 在 ~/.config/kitty/kitty.conf 中存储配置,默认配置位于 /usr/share/doc/kitty/kitty.conf。可以调整字体,颜色,光标和回滚行为。您可以在官方文档kitty.conf(5) 中查看所有可用的选项。


注意:若您正在使用 vim 编辑默认配置文件,所有的节开始都会被折叠,每个节默认都可以用 zo 展开。
提示:
  • 位于 /usr/share/doc/kitty/kitty.conf 的默认配置文件自带每个选项的说明。
  • 官方文档在本地具有副本,位于 /usr/share/doc/kitty/html/index.html

提示和技巧

输入法兼容

Kitty 默认情况下关闭了 IBus 框架。

请在环境变量中启用:

GLFW_IM_MODULE=ibus

由于兼容问题,该环境变量也可解决 kitty 对 fcitx5 的兼容问题。

单实例模式

这类似于守护进程模式,当以 --single-instance-1 选项启动 kitty 时,仅会运行一个 kitty 实例,随后以相同选项启动 kitty 时会创建已经存在的 kitty 实例的新窗口。这可以降低内存占用,因为共享了 GPU 缓存,而且会减少启动时间。您可以用 --instance group name 选项创建多组 kitty 实例。参阅 kitty(1) § single 以获取更多信息。

疑难解答

SSH 连接故障

当 kitty 用于 ssh 连接到没有其 terminfo 的远程主机时,可能会出现各种问题。解决方案通常是复制 terminfo。Kitty 有一个 ssh 小工具来自动化这一过程。

$ kitty +kitten ssh user@host

您可以将其设置为 ssh 的别名。实现这一点的一种方法是检测用户是否在使用 Kitty,如果是,则为 ssh 命令设置别名。为此,您需要将以下行附加到您的 ~/.bashrc~/.zshrc 文件中:

[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"

背景色在 vim 中消失

vim 中使用带背景色的配色方案后,滚动时背景色可能会消失或闪烁。欲修复,请确保 TERM 环境变量依然被设为 xterm-kitty,然后添加以下行到您的 .vimrc 文件:

~/.vimrc
let &t_ut=''

相关 bug 报告:Github issue #108kitty FAQ

无法识别位图字体

因为 kitty 的基本特性是以任意大小显示字体,而位图字体不适合缩放,故 kitty 不支持位图字体,参阅 Github issue #97

参见