跳至內容
出自 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

參見