Repolode
ilai-deutel

ilai-deutel/kibi

Cエディタkiloに着想を得た、1024行以内のRust製ターミナルテキストエディタ。

代替できる製品:nano

スター
1,957
フォーク
116
未解決の Issue
32
最終コミット
11 日前

これは何?

Kibiは、実装をテストを除いてプラットフォームごとに1024行以内に収めるという明確な制約を設けた、Rust製のターミナルテキストエディタです。UTF-8テキスト、インクリメンタル検索、シンタックスハイライト、行番号、ファイルサイズを表示するステータスバーに対応しています。また外部依存を最小限に抑え、Unixでは主にlibc、Windowsではwinapiを利用します。

このプロジェクトは、C製エディタkiloをRustらしい書き方で移植するところから始まり、Windows対応、行・列への移動コマンド、UNIXでのウィンドウサイズ変更への対応、タブ幅とメッセージ表示時間の設定、外部コマンドを実行してその出力をバッファに貼り付ける機能などを追加しています。シンタックスハイライトはINIファイルで設定でき、数十種類の言語定義が同梱されています。

KibiはLinux、macOS、Windows 10、WASIで動作し、cargoや複数のLinuxディストリビューションのリポジトリ、Termux、Flathubから入手できます。

主な機能

  • 01矢印キーで移動できるインクリメンタル検索。
  • 02UTF-8テキストに対応し、ガターに行番号を表示。
  • 03シンプルなINIファイルで設定できるシンタックスハイライト。
  • 04タブ幅、終了時の確認、メッセージ表示時間をグローバルに設定。
  • 05外部コマンドを実行し、その出力をバッファに貼り付け。
  • 06Linux、macOS、Windows 10、WASIで動作。

ユースケース

  • フル機能のエディタが使えないリモートサーバーや最小構成のシステムでの手早い編集。
  • visudoを使ったsudoersなどの設定ファイルの編集。
  • 小規模なターミナルエディタがRustでどのように作られているかを学ぶ。
  • Termuxを使ったAndroidでのテキスト編集。

クイックスタート

  1. 1

    cargoでKibiをインストールする

    cargo install kibi
  2. 2

    新しいテキストバッファーを開始する

    kibi
  3. 3

    ファイルを開く

    kibi <file path>

使う前に知っておきたいこと

  • ANSIエスケープシーケンスに対応したターミナルが必要です。
  • 設定とシンタックスハイライトのセットアップは、INIファイルを使って手動で行う必要があります。

収録されている特集

トピック

よくある質問

kibi とは?
Cエディタkiloに着想を得た、1024行以内のRust製ターミナルテキストエディタ。 Kibiは、実装をテストを除いてプラットフォームごとに1024行以内に収めるという明確な制約を設けた、Rust製のターミナルテキストエディタです。UTF-8テキスト、インクリメンタル検索、シンタックスハイライト、行番号、ファイルサイズを表示するステータスバーに対応しています。また外部依存を最小限に抑え、Unixでは主にlibc、Windowsではwinapiを利用します。
kibi は無料で使えますか?ライセンスは?
kibi は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
kibi は今もメンテナンスされていますか?
活発にメンテナンス中。kibi の最終コミットは 2026年10月27日 です。
kibi は何に使えますか?
フル機能のエディタが使えないリモートサーバーや最小構成のシステムでの手早い編集。 visudoを使ったsudoersなどの設定ファイルの編集。 小規模なターミナルエディタがRustでどのように作られているかを学ぶ。 Termuxを使ったAndroidでのテキスト編集。
kibi のインストール方法は?
cargoでKibiをインストールする: cargo install kibi 新しいテキストバッファーを開始する: kibi ファイルを開く: kibi <file path>
kibi はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ilai-deutel/kibi

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト