kitty - Arch Linux 中文维基

跳至內容

# kitty

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 Kitty，最近一次同步於 2025-01-22，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

kitty 是一個基於 OpenGL 的可編程終端模擬器，具有真彩色，連字支持，鍵盤輸入和圖像渲染的協議擴展。它還提供了類似於 GNU Screen 或 tmux 的平鋪功能。

## 安裝

安裝 kitty包；若要獲取開發版本，請安裝 kitty-gitAUR。

## 用法

可以通過各種 `Ctrl+Shift` 快捷鍵來創建新的選項卡和窗口並調整其大小。布局可通過 `Ctrl+Shift+l` 切換，並可以保存/恢復。

全鍵盤模式可區分 `Ctrl+i` 和 `Tab` 等歧義鍵。此外，新的文本效果（例如，波浪下劃線）也可用於支持它的應用程式。

### Kitten

kitty 有一個用於創建子程序的框架，稱為 kitten（小貓）。所有 kitten 命令均以 `kitty +kitten` 為前綴，很方便作為 shell 別名。

#### icat

這個 kitten 基於 kitty 圖形協議。其依賴 ImageMagick。要在終端內顯示圖像：

    $ kitty +kitten icat image.jpg

其也可以在終端內顯示 gif 動圖。除了圖片文件，您也可以傳遞目錄或圖片 URL。這也可以在遠程伺服器上通過 ssh 顯示圖片。一些應用程式像 ranger 和 neofetchAUR 使用該協議在終端內顯示圖片。關於更多信息，請參閱官方文檔。

#### diff

這個 kitten 需要 git 或 diffutils包 被安裝。此外，您也可以安裝 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 #108，kitty FAQ。

### 無法識別位圖字體

因為 kitty 的基本特性是以任意大小顯示字體，而位圖字體不適合縮放，故 kitty 不支持位圖字體，參閱 Github issue #97。

## 參見

- 官方網站
- GitHub 倉庫

分類：​

- 終端模擬器
- 終端多路復用器

kitty
新增話題