
Um editor de texto configurável com suporte UTF-8, pesquisa incremental, destaque da sintaxe, números de linha e muito mais, escritos em menos de 1024 linhas 1 de ferrugem com dependências mínimas.
Kibi é compatível com Linux, MacOS, Windows 10 2 e Wasi.
Este projeto é inspirado em kilo , um editor de texto escrito em C. Veja a comparação abaixo para obter uma lista de recursos adicionais.
As contribuições são bem -vindas! Tenha cuidado para ficar abaixo do limite de 1024 linhas ...
1.: Contado por plataforma, excluindo testes e diretivas clippy, consulte count_loc
2.: Kibi requer o terminal para apoiar as sequências de fuga da ANSI. O Windows 10 versão 1703 (Atualização dos Criadores, abril de 2017) e acima são suportados.
cargo Você pode instalar Kibi com cargo :
cargo install kibi Os arquivos de configuração de destaque da sintaxe estão disponíveis no diretório syntax.d deste repositório. Eles precisam ser colocados em um dos diretórios de configuração mencionados na seção de destaque de configuração/sintaxe.
Por exemplo:
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 pacotes estão disponíveis na AUR: kibi e kibi-git .
Instalação com um ajudante AUR, por exemplo, usando yay :
yay -Syu kibi # or yay -Syu kibi-git Instale manualmente com makepkg :
git clone https://aur.archlinux.org/kibi.git # or git clone https://aur.archlinux.org/kibi-git.git
cd kibi
makepkg -siKibi está disponível como um pacote Termux.
Instale o Termux:


Instale Kibi no Termux: pkg install kibi
O pacote está disponível no COPR como atim/kibi .
sudo dnf copr enable atim/kibi -y
sudo dnf install kibiKibi está disponível nos repositórios oficiais.
Instalar usando:
pkgin install kibiou construir a partir da fonte:
cd /usr/pkgsrc/editors/kibi
make installKibi está disponível no Flathub.
flatpak install flathub com.github.ilai_deutel.kibiVocê pode então executar Kibi com:
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| Atalho de teclado | Descrição |
|---|---|
| Ctrl-f | Pesquisa incremental; Use setas para navegar |
| Ctrl-S | Salve o buffer no arquivo atual ou especifique o caminho do arquivo |
| Ctrl-G | Vá para <line number>[:<column number>] Posição |
| Ctrl-q | Desistir |
| Ctrl-D | Duplicar a linha atual |
| Ctrl-e | Executar um comando externo e colar sua saída |
| Ctrl-r | Remova uma linha inteira |
| Ctrl-C | Copia toda a linha |
| Ctrl-x | Corta toda a linha |
| Ctrl-V | Vai colar a linha copiada |
| Ctrl-Leftarrow | Move o cursor para a palavra anterior |
| Ctrl-RightARROW | Move o cursor para a próxima palavra |
O kibi pode ser configurado usando um arquivo de configuração. Deve seguir este formato:
# 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 =trueA localização desses arquivos é descrita abaixo.
Kibi segue a especificação do diretório base do XDG:
$XDG_CONFIG_HOME/kibi/config.ini se a variável de ambiente $XDG_CONFIG_HOME é definida, ~/.config/kibi/config.ini de outra forma.$XDG_CONFIG_DIRS/kibi/config.ini se a variável de ambiente $XDG_CONFIG_DIRS estiver definida, /etc/kibi/config.ini ou /etc/xdg/kibi/config.ini caso contrário. Um arquivo de configuração pode estar localizado em %APPDATA%Kibiconfig.ini .
O destaque da sintaxe pode ser configurado usando arquivos INI que seguem este formato:
# ## /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, strA localização desses arquivos é descrita abaixo.
Kibi segue a especificação do diretório base do XDG:
$XDG_DATA_HOME/kibi/syntax.d/<file_name>.ini se variável de ambiente $XDG_DATA_HOME é definido, ~/.local/share/kibi/syntax.d/<file_name>.ini .$XDG_DATA_DIRS/kibi/syntax.d/<file_name>.ini se variável de ambiente $XDG_DATA_DIRS é definido, /usr/local/share/kibi/syntax.d/<file_name>.ini <File_Name> /usr/share/kibi/syntax.d/<file_name>.ini <file_name>.ini. Os arquivos de configuração de destaque da sintaxe podem estar localizados em %APPDATA%Kibisyntax.d<file_name>.ini .
kilo Este projeto é inspirado em kilo , um editor de texto escrito por Salvatore Sanfilippo (Antirez) em C, e este tutorial (também em C).
kibi fornece recursos adicionais:
A limitação mais importante é que a linha verifique a contagem de linha permanece abaixo de 1024. Para verificar esta execução:
cargo xtask count-loc Este projeto deve permanecer minúsculo; portanto, usar dependências avançadas como ncurses , toml ou ansi-escapes seria trapaça.
As dependências a seguir fornecem invólucros em torno de chamadas do sistema.
libcwinapiwinapi-util Além disso, unicode-width é usada para determinar a largura exibida dos caracteres Unicode. Infelizmente, não há maneira de contornar: a tabela de largura de caracteres Unicode tem 230 linhas de comprimento.
kilo de C para Rust e tentar torná -lo idiomático foi interessanteEste projeto segue a especificação de todos os contribuintes (key emoji). Contribuições de qualquer tipo de boas -vindas!
Ilaï Deutel ? ? ? ? | Vishal Anand ? | Gurjus bhasin ? | Libin Dang ? | Isaac Andrade ? | frjol ? | Artem Polhnchuk ? |
Marco Al Barbosa | alfinete ? | Uniminin ? | Woomy4680 -ee ? | quadroli ? | Molese ? | Jorge Reyes |
GIANCARLO FRANCA | Andrea Manzini | Maxime Bouillot ? | Johnathan Sharratt | Ninguém importante | Robert Grancsa | SogregandPowerful ? |
Mihai-Carol Bazga | Nick Webster | Zhizhen ele | Cosminggeorgescu | Tanvir ? | Prisacaru Bogdan-Paul | Auzkok ? |
Jan9103 | Josh McKinney ? | Alexander Zaitsev ? | Adrian Banu |
Este projeto está licenciado sob qualquer um dos
por sua opção.
A menos que você declare explicitamente o contrário, qualquer contribuição intencionalmente enviada para inclusão no kibi por você será licenciada como acima, sem termos ou condições adicionais.