
Ein konfigurierbarer Texteditor mit UTF-8-Unterstützung, inkrementelle Suche, Syntax-Hervorhebung, Zeilennummern und mehr, geschrieben in weniger als 1024 Zeilen 1 von Rost mit minimalen Abhängigkeiten.
KIBI ist mit Linux, MacOS, Windows 10 2 und WASI kompatibel.
Dieses Projekt ist von kilo inspiriert, einem in C geschriebenen Texteditor. Siehe Vergleich nach unten für eine Liste zusätzlicher Funktionen.
Beiträge sind willkommen! Achten Sie darauf, unter dem Grenzwert für 1024 Zeilen zu bleiben ...
1.: Zählung pro Plattform ohne Tests und Clippy -Richtlinien siehe count_loc
2.: Kibi verlangt, dass das Terminal ANSI -Fluchtsequenzen unterstützt. Windows 10 Version 1703 (Creators Update, April 2017) und höher werden unterstützt.
cargo Sie können Kibi mit cargo installieren:
cargo install kibi Die Konfigurationsdateien mit Syntax -Hervorhebung sind im Verzeichnis syntax.d dieses Repositorys verfügbar. Sie müssen in einem der im Abschnitt Konfiguration/Syntax hervorgehobenen Konfigurationsverzeichnisse in den Konfigurations-/Syntax -Abschnitt platziert werden.
Zum Beispiel:
cd ~ /repos
git clone https://github.com/ilai-deutel/kibi.git
mkdir -p ~ /.local/share/kibi/
ln -sr ./kibi/syntax.d ~ /.local/share/kibi/syntax.d 2 Pakete sind auf der AUR erhältlich: kibi und kibi-git .
Installation mit einem AUR -Helfer beispielsweise mit yay :
yay -Syu kibi # or yay -Syu kibi-git Manuell mit makepkg einbauen:
git clone https://aur.archlinux.org/kibi.git # or git clone https://aur.archlinux.org/kibi-git.git
cd kibi
makepkg -siKibi ist als Termux -Paket erhältlich.
Termux installieren:


Installieren Sie KIBI in Termux: pkg install kibi
Das Paket ist in COPR als atim/kibi erhältlich.
sudo dnf copr enable atim/kibi -y
sudo dnf install kibiKibi ist bei den offiziellen Repos erhältlich.
Installieren Sie mit:
pkgin install kibioder aus Quelle bauen:
cd /usr/pkgsrc/editors/kibi
make installKibi ist auf Flathub erhältlich.
flatpak install flathub com.github.ilai_deutel.kibiSie können dann Kibi mit:
flatpak run com.github.ilai_deutel.kibikibi # Start an new text buffer
kibi < file path > # Open a file
kibi --version # Print version information and exit| Tastaturverknüpfung | Beschreibung |
|---|---|
| Strg-f | Inkrementelle Suche; Verwenden Sie Pfeile, um zu navigieren |
| Strg-s | Speichern Sie den Puffer in der aktuellen Datei oder geben Sie den Dateipfad an |
| Strg-g | Gehen Sie zu <line number>[:<column number>] Position |
| Strg-Q | Aufhören |
| Strg-d | Duplizieren Sie die aktuelle Zeile |
| Strg-e | Führen Sie einen externen Befehl aus und fügen Sie seine Ausgabe ein |
| Strg-r | Eine ganze Linie entfernen |
| Strg-c | Kopiert die gesamte Linie |
| Strg-X | Schneidet die gesamte Linie |
| Strg-V | Fügt die kopierte Linie ein |
| Strg-links | Verschiebt Cursor zum vorherigen Wort |
| Strg-Rightarrow | Verschiebt Cursor zum nächsten Wort |
KIBI kann mit einer Konfigurationsdatei konfiguriert werden. Es muss diesem Format folgen:
# The size of a tab. Must be > 0.
tab_stop =4
# The number of confirmations needed before quitting, when changes have been
# made since the file was last changed.
quit_times =2
# The duration for which messages are shown in the status bar, in seconds.
message_duration =3
# Whether to show line numbers.
show_line_numbers =trueDer Speicherort dieser Dateien wird unten beschrieben.
Kibi folgt der XDG -Basisverzeichnisspezifikation:
$XDG_CONFIG_HOME/kibi/config.ini ~/.config/kibi/config.ini $XDG_CONFIG_HOME ./etc/xdg/kibi/config.ini systemweite Konfigurationsdatei $XDG_CONFIG_DIRS unter $XDG_CONFIG_DIRS/kibi/config.ini angezeigt /etc/kibi/config.ini . Eine Konfigurationsdatei kann sich bei %APPDATA%Kibiconfig.ini befinden.
Die Syntax -Hervorhebung kann mit INI -Dateien konfiguriert werden, die diesem Format folgen:
# ## /usr/share/kibi/syntax.d/rust.ini ###
# Kibi syntax highlighting configuration for Rust
name =Rust
extensions =rs
highlight_numbers =true
singleline_string_quotes = "
singleline_comment_start=//
multiline_comment_delims=/*, */
; In Rust, the multi-line string delimiter is the same as the single-line string
; delimiter
multiline_string_delim= "
; https://doc.rust-lang.org/book/appendix-01-keywords.html
keywords_1 =abstract, as, async, await, become, box, break, const, continue, crate, do, dyn, else, enum, extern, false, final, fn, for, if, impl, in, let, loop, macro, match, mod, move, mut, override, priv, pub, ref, return, self, Self, static, struct, super, trait, true, try, type, typeof, unsafe, unsized, use, virtual, where, while, yield
keywords_2 =i8, i16, i32, i64, i128, isize, u8, u16, u32, u36, u128, usize, f32, f64, bool, char, strDer Speicherort dieser Dateien wird unten beschrieben.
Kibi folgt der XDG -Basisverzeichnisspezifikation:
$XDG_DATA_HOME $XDG_DATA_HOME/kibi/syntax.d/<file_name>.ini ~/.local/share/kibi/syntax.d/<file_name>.ini werden.$XDG_DATA_DIRS/kibi/syntax.d/<file_name>.ini angezeigt werden, wenn die Umgebungsvariable $XDG_DATA_DIRS definiert ist, /usr/local/share/kibi/syntax.d/<file_name>.ini < /usr/share/kibi/syntax.d/<file_name>.ini ansonsten. Die Konfigurationsdateien von Syntax finden Sie unter %APPDATA%Kibisyntax.d<file_name>.ini .
kilo Dieses Projekt ist von kilo , einem Texteditor von Salvatore Sanfilippo (Antirez) in C, und diesem Tutorial (auch in C) inspiriert.
kibi bietet zusätzliche Funktionen:
Die wichtigste Einschränkung besteht darin, dass die Leitungsprüfung die Leitungszahl unter 1024 bleibt. Um diesen Lauf zu überprüfen:
cargo xtask count-loc Dieses Projekt muss winzig bleiben. Daher wäre es Betrug, fortgeschrittene Abhängigkeiten wie ncurses , toml oder ansi-escapes zu verwenden.
Die folgenden Abhängigkeiten liefern Verpackungen um Systemanrufe.
libcwinapiwinapi-util Zusätzlich wird unicode-width verwendet, um die angezeigte Breite von Unicode-Zeichen zu bestimmen. Leider gibt es keinen Weg herum: Die Unicode -Zeichenbreite ist 230 Zeilen lang.
kilo -Quellcodes von C zu Rost und der Versuch, ihn idiomatisch zu machen, war interessantDieses Projekt folgt der All-Contributors-Spezifikation (Emoji-Schlüssel). Beiträge jeglicher Art willkommen!
Ilaï Deutel ? ? ? ? | Vishal Anand ? | Gurjus Bhasin ? | Libin Dang ? | Isaac Andrade ? | frjol ? | Artem polnchchuk ? |
Marco al Barbosa | Stift ? | Uniminin ? | WOOMY4680-EXE ? | Quadroli ? | Molese ? | Jorge Reyes |
Giancarlo França | Andrea Manzini | Maxime Bouillot ? | Johnathan Sharratt | Niemand | Robert Grancsa | Soagreatand Powerful ? |
Mihai-Carol Bazga | Nick Webster | Zhizhen er | Cosminggeorgescu | Tanvir ? | Prisacaru Bogdan-Paul | Auzkok ? |
Jan9103 | Josh McKinney ? | Alexander Zaitsev ? | Adrian Banu |
Dieses Projekt ist unter einem von lizenziert
nach Ihrer Option.
Sofern Sie nicht ausdrücklich anders angeben, ist ein Beitrag, der von Ihnen absichtlich zur Aufnahme in Kibi eingereicht wird, ohne zusätzliche Bedingungen doppelt lizenziert wie oben.