「Kitty」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎IME サポートを有効にする: add === Single instance mode ===)
 
(2人の利用者による、間の16版が非表示)
11行目: 11行目:
 
== インストール ==
 
== インストール ==
   
{{Pkg|kitty}} パッケージを[[インストール]]してください。
+
{{Pkg|kitty}} パッケージ、または開発版の{{AUR|kitty-git}}を[[インストール]]してください。
   
 
== 使用方法 ==
 
== 使用方法 ==
21行目: 21行目:
 
=== Kitten ===
 
=== Kitten ===
   
Kitty はサブプログラムを作成するためのフレームワークが備わっておサブプログラム[https://sw.kovidgoyal.net/kitty/#kittens kitten]呼ばれます。以下のよな kitten が存在す。
+
Kitty [https://sw.kovidgoyal.net/kitty/kittens_intro/ kittens] と呼ばれるサブプログラムを作成するためのフレームワークがます。すべての kitten のコマンドは kitty +kitten とプレフィックスを持つので、シェルのエイリアスとて使用すると便利です。
   
  +
==== icat ====
たとえば、ターミナルに画像を表示するには ({{Pkg|imagemagick}} が必要です。)
 
   
  +
この kitten は [https://sw.kovidgoyal.net/kitty/graphics-protocol/ kitty graphics protocol] に基づいています。[[ImageMagick]] がインストールされている必要があります。ターミナルに画像を表示するには、
$ kitty +kitten icat image.jpeg
 
   
  +
$ kitty +kitten icat image.jpg
2つのファイルの差分を表示するには:
 
  +
  +
また、ターミナルにアニメーション 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
 
$ kitty +kitten diff file1 file2
   
  +
テキストファイルだけでなく、イメージの差分も表示します。このlkitten は ssh 経由で使用することもできます。ファイルの代わりにディレクトリを渡して、再帰的な diff を表示することができます。詳しくは、[https://sw.kovidgoyal.net/kitty/kittens/diff/ 公式ドキュメント]をご覧ください。
ssh 上でクリップボードを操作するには:
 
   
  +
==== clipboard ====
$ kitty +kitten 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 でデフォルトの設定を編集している場合、セクションは折り畳まれています。各セクションは、ノーマルモードの zo コマンドを使用して展開できます。}}
 
  +
kitty は {{ic|~/.config/kitty/kitty.conf}} に設定を保存し、デフォルトの設定は {{ic|/usr/share/doc/kitty/kitty.conf}} で確認できます。フォント・カラー・カーソル・スクロールバックバッファの動作を調整することができます。利用可能なすべてのオプションは、[https://sw.kovidgoyal.net/kitty/conf.html 公式ドキュメント]で確認することができます。
 
  +
{{Note|vim でデフォルト設定を編集している場合、セクションは折り畳まれ始めます。各セクションは、通常モードで {{ic|zo}} を使用して拡張できます。}}
  +
  +
{{Tip|
  +
* {{ic|/usr/share/doc/kitty/kitty.conf}} にあるデフォルトの設定ファイルは、各オプションを説明するコメント付きの自己文書化されています。
  +
* 公式ドキュメントは、{{ic|/usr/share/doc/kitty/html/index.html}} でローカルに入手できます。
  +
}}
   
 
== ヒントとテクニック ==
 
== ヒントとテクニック ==
45行目: 72行目:
 
[[IBus]] IME フレームワークの Kitty サポートは、既定で無効になっています。これを有効にするには、環境変数 {{ic|1=GLFW_IM_MODULE=ibus}} を設定します。互換性のある IBus インターフェースが提供されているので、 [[Fcitx5]] でも動作します。
 
[[IBus]] IME フレームワークの Kitty サポートは、既定で無効になっています。これを有効にするには、環境変数 {{ic|1=GLFW_IM_MODULE=ibus}} を設定します。互換性のある IBus インターフェースが提供されているので、 [[Fcitx5]] でも動作します。
   
  +
=== シングルインスタンスモード ===
=== Single instance mode ===
 
   
This works similar to a daemon mode. When kitty is launched with the {{ic|--single-instance}} or {{ic|-1}} option, only one instance of kitty will run. Launching kitty subsequently with the same option will create a new window of the existing kitty instance. This will lower memory usage because of a shared GPU cache and also reduces startup time. You can have multiple groups of kitty instances with {{ic|--instance group ''name''}} option. See {{man|1|kitty|single-instance|url=https://man.archlinux.org/man/kitty.1#single}} for more information.
+
これはデーモンモードと似たような働きをします。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}} を参照してください。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
57行目: 84行目:
 
kitty +kitten ssh user@host
 
kitty +kitten ssh user@host
   
ssh のエイリアスとして設定したい場合、そのための一つの方法として、ユーザーが Kitty を使っているかどうかを検出し、もしそうなら、ssh コマンドのエイリアスを設定することです。これを行うには(Bashで)~/.bashrcファイルに次の行を追加します。
+
{{ic|ssh}} のエイリアスとして設定したい場合、そのための一つの方法として、ユーザーが Kitty を使っているかどうかを検出し、もしそうなら、ssh コマンドのエイリアスを設定することです。これを行うには {{ic|~/.bashrc}} または {{ic|~/.zshrc}} ファイルに次の行を追加します。
   
  +
{{bc|1=
{{hc|~/.bashrc|output=
 
<nowiki>[[ "$TERM" == "xterm-kitty" ]]</nowiki> && alias ssh="kitty +kitten ssh"
+
<nowiki>[ "$TERM" = "xterm-kitty" ]</nowiki> && alias ssh="kitty +kitten ssh"
 
}}
 
}}
   
 
何らかの理由でリモートに terminfo をインストールできない場合、 {{ic|TERM}} をより存在しやすいものに設定してみてください。この場合、端末の機能のいくつかが使えなくなる可能性があることに注意してください。[[OpenSSH#適切な terminfo エントリがないリモートに接続する場合]] を参照してください。
 
何らかの理由でリモートに 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] を参照してください。
   
 
== 参照 ==
 
== 参照 ==
70行目: 111行目:
 
* [https://github.com/kovidgoyal/kitty GitHub リポジトリ]
 
* [https://github.com/kovidgoyal/kitty GitHub リポジトリ]
   
{{TranslationStatus|Kitty|2022-08-25|730743}}
+
{{TranslationStatus|Kitty|2022-10-17|750285}}

2024年3月10日 (日) 13:31時点における最新版

Kitty はスクリプトを組める OpenGL ベースのターミナルエミュレータです。タイル機能、TrueColor、合字、キーボード入力と画像レンダリングのプロトコル拡張があります。また、 GNU Screentmux のようなタイリング機能も提供します。

インストール

kitty パッケージ、または開発版のkitty-gitAURインストールしてください。

使用方法

新しいタブやウィンドウを ctrl+shift ショートカットで作成・リサイズすることができます。レイアウトは ctrl+shift+l で切り替えて保存・復元することが可能です。

フルキーボードモードでは ctrl+itab などのキーを区別します。さらに、アプリケーションによっては波線などのエフェクトを使うことができます。

Kitten

Kitty には kittens と呼ばれるサブプログラムを作成するためのフレームワークがあります。すべての kitten のコマンドは kitty +kitten というプレフィックスを持つので、シェルのエイリアスとして使用すると便利です。

icat

この kitten は kitty graphics protocol に基づいています。ImageMagick がインストールされている必要があります。ターミナルに画像を表示するには、

$ kitty +kitten icat image.jpg

また、ターミナルにアニメーション GIF を表示することもできます。画像ファイルの代わりに、ディレクトリや画像の URL を渡すことができます。これは、リモートサーバから画像を表示するために、ssh 上で動作します。rangerneofetch などのいくつかのアプリケーションは、ターミナルに画像を表示するためにこのプロトコルを使用しています。詳しくは、公式ドキュメントを参照してください。

diff

この kitten は、gitdiffutils のどちらかがインストールされていることが必要です。オプションとして、シンタックスハイライトのために 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) で確認することができます。

ノート: vim でデフォルト設定を編集している場合、セクションは折り畳まれ始めます。各セクションは、通常モードで zo を使用して拡張できます。
ヒント:
  • /usr/share/doc/kitty/kitty.conf にあるデフォルトの設定ファイルは、各オプションを説明するコメント付きの自己文書化されています。
  • 公式ドキュメントは、/usr/share/doc/kitty/html/index.html でローカルに入手できます。

ヒントとテクニック

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 を参照してください。

参照

翻訳ステータス: このページは en:Kitty の翻訳バージョンです。最後の翻訳日は 2022-10-17 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。