「Kitty」の版間の差分
(情報を追加) |
Kusanaginoturugi (トーク | 投稿記録) (→参照: update TranslationStatus.) |
||
(2人の利用者による、間の38版が非表示) | |||
1行目: | 1行目: | ||
{{Lowercase title}} |
{{Lowercase title}} |
||
[[Category:ターミナルエミュレータ]] |
[[Category:ターミナルエミュレータ]] |
||
+ | [[Category:ターミナルマルチプレクサ]] |
||
+ | [[de:Kitty]] |
||
[[en:Kitty]] |
[[en:Kitty]] |
||
+ | [[pt:Kitty]] |
||
[[ru:Kitty]] |
[[ru:Kitty]] |
||
+ | [[zh-hans:Kitty]] |
||
− | [https://sw.kovidgoyal.net/kitty/index.html Kitty] はスクリプトを組める OpenGL ベースのターミナルエミュレータです。タイル機能、TrueColor、リガチャ、キーボード入力と画像レンダリングのプロトコル拡張があります。また、 [[GNU Screen]] や [[tmux]] のようなタイル機能も提供します。 |
||
+ | [https://sw.kovidgoyal.net/kitty/index.html Kitty] はスクリプトを組める OpenGL ベースのターミナルエミュレータです。タイル機能、TrueColor、合字、キーボード入力と画像レンダリングのプロトコル拡張があります。また、 [[GNU Screen]] や [[tmux]] のようなタイリング機能も提供します。 |
||
== インストール == |
== インストール == |
||
− | {{Pkg|kitty}} パッケージを[[インストール]]してください。 |
+ | {{Pkg|kitty}} パッケージ、または開発版の{{AUR|kitty-git}}を[[インストール]]してください。 |
== 使用方法 == |
== 使用方法 == |
||
17行目: | 21行目: | ||
=== Kitten === |
=== Kitten === |
||
− | Kitty はサブプログラムを作成するためのフレームワークが |
+ | Kitty には [https://sw.kovidgoyal.net/kitty/kittens_intro/ kittens] と呼ばれるサブプログラムを作成するためのフレームワークがあります。すべての kitten のコマンドは kitty +kitten というプレフィックスを持つので、シェルのエイリアスとして使用すると便利です。 |
+ | ==== icat ==== |
||
− | $ kitty +kitten icat image.jpeg # show image in the terminal (needs imagemagick) |
||
+ | |||
− | $ kitty +kitten diff file1 file2 # show diff of two files |
||
+ | この kitten は [https://sw.kovidgoyal.net/kitty/graphics-protocol/ kitty graphics protocol] に基づいています。[[ImageMagick]] がインストールされている必要があります。ターミナルに画像を表示するには、 |
||
− | $ kitty +kitten clipboard # this kitten allows working with clipboard even over ssh |
||
+ | |||
+ | $ kitty +kitten icat image.jpg |
||
+ | |||
+ | また、ターミナルにアニメーション GIF を表示することもできます。画像ファイルの代わりに、ディレクトリや画像の URL を渡すことができます。これは、リモートサーバから画像を表示するために、ssh 上で動作します。[[ranger]] や {{Pkg|neofetch}} などのいくつかのアプリケーションは、ターミナルに画像を表示するためにこのプロトコルを使用しています。詳しくは、[https://sw.kovidgoyal.net/kitty/kittens/icat/ 公式ドキュメント]を参照してください。 |
||
+ | |||
+ | ==== diff ==== |
||
+ | |||
+ | この kitten は、[[git]] か {{Pkg|diffutils}} のどちらかがインストールされていることが必要です。オプションとして、シンタックスハイライトのために {{Pkg|python-pygments}} をインストールしてください。2つのファイルの差分を表示するには |
||
+ | |||
+ | $ kitty +kitten diff file1 file2 |
||
+ | |||
+ | テキストファイルだけでなく、イメージの差分も表示します。このlkitten は ssh 経由で使用することもできます。ファイルの代わりにディレクトリを渡して、再帰的な diff を表示することができます。詳しくは、[https://sw.kovidgoyal.net/kitty/kittens/diff/ 公式ドキュメント]をご覧ください。 |
||
+ | |||
+ | ==== clipboard ==== |
||
+ | |||
+ | この kitten はシステムのクリップボードの読み書きに使用され、ssh 越しでもクリップボードを操作することができます。stdin をシステムのクリップボードにコピーするには。 |
||
+ | |||
+ | $ echo "Hello" | kitty +kitten clipboard |
||
+ | |||
+ | 現在のクリップボードの内容を stdout に出力するには |
||
+ | |||
+ | $ kitty +kitten clipboard --get-clipboard |
||
+ | |||
+ | このコマンドはデフォルトで許可ポップアップを表示します。これを無効にするには、設定ファイルの [https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.clipboard_control {{ic|clipboard_control}}] オプションを編集してください。 |
||
+ | |||
+ | {{hc|~/.config/kitty/kitty.conf| |
||
+ | clipboard_control write-clipboard read-clipboard}} |
||
+ | |||
+ | 詳しくは、[https://sw.kovidgoyal.net/kitty/kittens/clipboard/ 公式ドキュメント]をご覧ください。 |
||
== 設定 == |
== 設定 == |
||
+ | kitty は {{ic|~/.config/kitty/kitty.conf}} に設定を保存し、デフォルトの設定は {{ic|/usr/share/doc/kitty/kitty.conf}} で確認できます。フォント・カラー・カーソル・スクロールバックバッファの動作を調整することができます。利用可能なすべてのオプションは、[https://sw.kovidgoyal.net/kitty/conf.html 公式ドキュメント]または {{man|5|kitty.conf}} で確認することができます。 |
||
+ | {{Note|vim でデフォルト設定を編集している場合、セクションは折り畳まれ始めます。各セクションは、通常モードで {{ic|zo}} を使用して拡張できます。}} |
||
− | Kitty は {{ic|~/.config/kitty/kitty.conf}} で設定できます。フォント・カラー・カーソル・スクロールバックバッファなどを設定することが可能です。利用可能なオプションは [https://sw.kovidgoyal.net/kitty/conf.html 公式ドキュメント] を参照してください。デフォルトで使用される [https://sw.kovidgoyal.net/kitty/conf.html#sample-kitty-conf 設定ファイル] も確認できます。 |
||
+ | |||
+ | {{Tip| |
||
+ | * {{ic|/usr/share/doc/kitty/kitty.conf}} にあるデフォルトの設定ファイルは、各オプションを説明するコメント付きの自己文書化されています。 |
||
+ | * 公式ドキュメントは、{{ic|/usr/share/doc/kitty/html/index.html}} でローカルに入手できます。 |
||
+ | }} |
||
+ | |||
+ | == ヒントとテクニック == |
||
+ | |||
+ | === IME サポートを有効にする === |
||
+ | |||
+ | [[IBus]] IME フレームワークの Kitty サポートは、既定で無効になっています。これを有効にするには、環境変数 {{ic|1=GLFW_IM_MODULE=ibus}} を設定します。互換性のある IBus インターフェースが提供されているので、 [[Fcitx5]] でも動作します。 |
||
+ | |||
+ | === シングルインスタンスモード === |
||
+ | |||
+ | これはデーモンモードと似たような働きをします。kitty を {{ic|-single-instance}} または {{ic|-1}} オプションで起動すると、kitty のインスタンスは 1 つだけ実行されます。続けて同じオプションで kitty を起動すると、既存の kitty インスタンスの新しいウィンドウが作成されます。これにより、GPU キャッシュが共有されるためメモリ使用量が少なくなり、起動時間も短縮されます。kitty のインスタンスは {{ic|--instance group ''name''}} オプションで複数のグループを持つことができます。詳しくは {{man|1|kitty|single-instance|url=https://man.archlinux.org/man/kitty.1#single}} を参照してください。 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === SSH のターミナルの問題 === |
||
+ | |||
+ | kitty を使用して、terminfo を持たないリモートに ssh 接続すると、さまざまな問題が発生する可能性があります。解決策は通常 terminfo にコピーすることです。kitty には、まさにこれを自動化するための ssh kitten があります。 |
||
+ | |||
+ | kitty +kitten ssh user@host |
||
+ | |||
+ | {{ic|ssh}} のエイリアスとして設定したい場合、そのための一つの方法として、ユーザーが Kitty を使っているかどうかを検出し、もしそうなら、ssh コマンドのエイリアスを設定することです。これを行うには {{ic|~/.bashrc}} または {{ic|~/.zshrc}} ファイルに次の行を追加します。 |
||
+ | |||
+ | {{bc|1= |
||
+ | <nowiki>[ "$TERM" = "xterm-kitty" ]</nowiki> && alias ssh="kitty +kitten ssh" |
||
+ | }} |
||
+ | |||
+ | 何らかの理由でリモートに terminfo をインストールできない場合、 {{ic|TERM}} をより存在しやすいものに設定してみてください。この場合、端末の機能のいくつかが使えなくなる可能性があることに注意してください。[[OpenSSH#適切な terminfo エントリがないリモートに接続する場合]] を参照してください。 |
||
+ | |||
+ | === vim で背景色が消える === |
||
+ | |||
+ | [[vim]] で背景色のある配色を使用すると、スクロール中に背景が消えたりちらついたりすることがあります。これを修正するには、環境変数 {{ic|TERM}} がまだ {{ic|xterm-kitty}} に設定されていることを確認してから、次の行を {{ic|.vimrc}} ファイルに追加します。 |
||
+ | |||
+ | {{hc|~/.vimrc|2= |
||
+ | let &t_ut=<nowiki>''</nowiki> |
||
+ | }} |
||
+ | |||
+ | 関連するバグ報告: [https://github.com/kovidgoyal/kitty/issues/108 Github issue #108], [https://sw.kovidgoyal.net/kitty/faq/#using-a-color-theme-with-a-background-color-does-not-work-well-in-vim kitty FAQ] |
||
+ | |||
+ | === ビットマップ フォントが認識されない === |
||
+ | |||
+ | kitty は、ビットマップフォントをサポートしていません。これは、ビットマップフォントが適していない任意のフォントサイズでフォントを表示することができるという基本的な特徴を持っているためです。[https://github.com/kovidgoyal/kitty/issues/97 Github issue #97] を参照してください。 |
||
== 参照 == |
== 参照 == |
||
+ | * [https://sw.kovidgoyal.net/kitty/ 公式ウェブサイト] |
||
* [https://github.com/kovidgoyal/kitty GitHub リポジトリ] |
* [https://github.com/kovidgoyal/kitty GitHub リポジトリ] |
||
+ | |||
+ | {{TranslationStatus|Kitty|2024-6-11|801045}} |
2024年6月11日 (火) 19:48時点における最新版
Kitty はスクリプトを組める OpenGL ベースのターミナルエミュレータです。タイル機能、TrueColor、合字、キーボード入力と画像レンダリングのプロトコル拡張があります。また、 GNU Screen や tmux のようなタイリング機能も提供します。
目次
インストール
kitty パッケージ、または開発版のkitty-gitAURをインストールしてください。
使用方法
新しいタブやウィンドウを ctrl+shift
ショートカットで作成・リサイズすることができます。レイアウトは ctrl+shift+l
で切り替えて保存・復元することが可能です。
フルキーボードモードでは ctrl+i
と tab
などのキーを区別します。さらに、アプリケーションによっては波線などのエフェクトを使うことができます。
Kitten
Kitty には kittens と呼ばれるサブプログラムを作成するためのフレームワークがあります。すべての kitten のコマンドは kitty +kitten というプレフィックスを持つので、シェルのエイリアスとして使用すると便利です。
icat
この kitten は kitty graphics protocol に基づいています。ImageMagick がインストールされている必要があります。ターミナルに画像を表示するには、
$ kitty +kitten icat image.jpg
また、ターミナルにアニメーション GIF を表示することもできます。画像ファイルの代わりに、ディレクトリや画像の URL を渡すことができます。これは、リモートサーバから画像を表示するために、ssh 上で動作します。ranger や neofetch などのいくつかのアプリケーションは、ターミナルに画像を表示するためにこのプロトコルを使用しています。詳しくは、公式ドキュメントを参照してください。
diff
この kitten は、git か diffutils のどちらかがインストールされていることが必要です。オプションとして、シンタックスハイライトのために python-pygments をインストールしてください。2つのファイルの差分を表示するには
$ kitty +kitten diff file1 file2
テキストファイルだけでなく、イメージの差分も表示します。このlkitten は ssh 経由で使用することもできます。ファイルの代わりにディレクトリを渡して、再帰的な diff を表示することができます。詳しくは、公式ドキュメントをご覧ください。
clipboard
この kitten はシステムのクリップボードの読み書きに使用され、ssh 越しでもクリップボードを操作することができます。stdin をシステムのクリップボードにコピーするには。
$ echo "Hello" | kitty +kitten clipboard
現在のクリップボードの内容を stdout に出力するには
$ 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) で確認することができます。
ヒントとテクニック
IME サポートを有効にする
IBus IME フレームワークの Kitty サポートは、既定で無効になっています。これを有効にするには、環境変数 GLFW_IM_MODULE=ibus
を設定します。互換性のある IBus インターフェースが提供されているので、 Fcitx5 でも動作します。
シングルインスタンスモード
これはデーモンモードと似たような働きをします。kitty を -single-instance
または -1
オプションで起動すると、kitty のインスタンスは 1 つだけ実行されます。続けて同じオプションで kitty を起動すると、既存の kitty インスタンスの新しいウィンドウが作成されます。これにより、GPU キャッシュが共有されるためメモリ使用量が少なくなり、起動時間も短縮されます。kitty のインスタンスは --instance group name
オプションで複数のグループを持つことができます。詳しくは kitty(1) § single-instance を参照してください。
トラブルシューティング
SSH のターミナルの問題
kitty を使用して、terminfo を持たないリモートに ssh 接続すると、さまざまな問題が発生する可能性があります。解決策は通常 terminfo にコピーすることです。kitty には、まさにこれを自動化するための ssh kitten があります。
kitty +kitten ssh user@host
ssh
のエイリアスとして設定したい場合、そのための一つの方法として、ユーザーが Kitty を使っているかどうかを検出し、もしそうなら、ssh コマンドのエイリアスを設定することです。これを行うには ~/.bashrc
または ~/.zshrc
ファイルに次の行を追加します。
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
何らかの理由でリモートに terminfo をインストールできない場合、 TERM
をより存在しやすいものに設定してみてください。この場合、端末の機能のいくつかが使えなくなる可能性があることに注意してください。OpenSSH#適切な terminfo エントリがないリモートに接続する場合 を参照してください。
vim で背景色が消える
vim で背景色のある配色を使用すると、スクロール中に背景が消えたりちらついたりすることがあります。これを修正するには、環境変数 TERM
がまだ xterm-kitty
に設定されていることを確認してから、次の行を .vimrc
ファイルに追加します。
~/.vimrc
let &t_ut=''
関連するバグ報告: Github issue #108, kitty FAQ
ビットマップ フォントが認識されない
kitty は、ビットマップフォントをサポートしていません。これは、ビットマップフォントが適していない任意のフォントサイズでフォントを表示することができるという基本的な特徴を持っているためです。Github issue #97 を参照してください。