
BIM est un éditeur de texte terminal avec une mise en évidence de syntaxe.
Inspiré par VIM (on pourrait dire une mauvaise imitation) et avec une modification similaire basée sur des mode, le BIM a été écrit à l'origine pour Toaruos, mais il a également été testé dans Linux, Sortix, FreeBSD et MacOS.
BIM est destiné à l'éditeur de texte inclus dans Toaruos, un système d'exploitation de passe-temps construit à partir de zéro.
BIM vise à être léger et caractéristique sans dépendances * externes *, offrant une expérience d'édition moderne dans un package léger et extensible.
hjkl à clé flèche et traditionnelle.git diff en ligne, ainsi que des changements non sauvés. Le BIM nécessite une bibliothèque C de type Unix suffisamment et un compilateur C99 avec certaines extensions GNU (telles que __attribute__((constructor)) ).
BIM 3 a également besoin de Kuroko, qui a des exigences similaires. BIM est généralement lié statiquement à l'interprète Kuroko pour les versions Linux et lié dynamiquement pour les builds Toaruos.
BIM a été construit avec succès pour un certain nombre de cibles, notamment divers BSD, Taruos, Sortix et autres.
Tout d'abord, installez Kuroko:
git clone https://github.com/kuroko-lang/kuroko
cd kuroko
make && sudo make install # You can obtain deb packages, or build one with 'fpm' with 'make deb'Puis construire BIM:
git clone https://github.com/klange/bim
cd bim
make && sudo make installPuis installez l'exemple de configuration:
cp docs/example.bim3rc ~ /.bim3rc Le BIM a été testé dans un certain nombre de terminaux, et bien qu'il n'utilise pas de bases de données terminfo , les fonctionnalités de base devraient être disponibles dans la grande majorité des émulateurs restants et même du matériel DEC classique.
Si le terminal que vous utilisez a des bizarreries ou ne joue pas bien avec les hypothèses par défaut, vous pouvez modifier le comportement en fonction de votre environnement.
Les fonctionnalités de capacité peuvent être contrôlées avec "Quirks", soit via la commande quirk dans un BIMRC, soit avec l'option de ligne de commande -O .
Le format de la commande quirk est quirk(envvar,teststr,'no...','can...',...) où ENVVAR est le nom d'une variable d'environnement et teststr est une chaîne à vérifier par rapport à ce qui doit être un préfixe de la variable d'environnement.
Par exemple, quirk('TERM','xterm','nounicode') désactivera la sortie Unicode sur toutes les bornes commençant par "xterm" (y compris "xterm-256color").
Vous pouvez également spécifier des bizarreries avec la variable d'environnement $COLORTERM , ou la variable $TERMINAL_EMULATOR définie par certains IDE.
Quelques exemples de configurations de bizarrerie sont fournies dans docs / exemple.bim3rc et peuvent être un bon point de départ si vous rencontrez des problèmes de rendu.
La prise en charge Unicode / UTF-8 est recommandée et supposée par défaut. L'option Quirk nounicode désactivera la sortie des caractères UTF-8 et les rendra à la place comme des indices de codepoint comme <U+1234> .
Les couleurs 256-couleurs et 24 bits sont également supposées par défaut, les désactivez avec les bizarreries no256color et no24bit respectivement.
Si vous avez un terminal particulièrement bas, la bizarrerie nobright laisse entendre aux thèmes que seules les 8 couleurs inférieures doivent être utilisées.
Trois modes de défilement sont pris en charge: Shift Rcroll, insérer / supprimer le défilement et redessiner le défilement.
Le défilement de changement ( ^[[1S / ^[[1T ) est supposé par défaut. Si votre terminal prend en charge l'insertion / supprimer le défilement ( ^[[L / ^[[M ), activez la bizarrerie caninsert .
Si aucune option de défilement n'est disponible, utilisez la bizarrerie noscroll pour redessiner le champ de texte lors du défilement. Ce sera probablement lent!
Prise en charge de la souris avec ^[[?1000h est supposé par défaut. Utilisez la bizarrerie nomouse pour le désactiver.
Si votre terminal prend en charge les modes de souris SGR ("1006"), activez la bizarrerie cansgrmouse . La plupart des bornes de type xterm le soutiennent et apporteront un support pour les clics sur les cellules dans des fenêtres terminales plus grandes.
Un autre support d'écran est également supposé. C'est normalement très bien même si votre terminal ne le prend pas en charge, mais si cela cause des problèmes, la bizarrerie noaltscreen le désactivera.
Les clés par défaut peuvent être trouvées dans docs / mappings.md.
Cette annonce peut être générée avec bim --dump-mappings .
Une liste complète des commandes disponibles peut être trouvée dans Docs / Commands.md.
Cette annonce peut être générée avec bim --dump-commands .
Vous pouvez utiliser BIM pour afficher des fichiers dans votre terminal avec une mise en évidence de syntaxe avec bim -c (pas de numéros de ligne) et bim -C (avec des numéros de ligne).

Vous pouvez tuer du texte sur BIM pour l'édition avec bim - . Notez que BIM attendra la fin de fichier avant le lancement, donc cela ne convient pas à une utilisation en tant que téléavertisseur (le support du téléavertisseur est prévu).
Le BIM peut également être utilisé pour générer des documents HTML avec un code source-éclairé par syntaxe avec bim --html ; Le thème configuré sera utilisé.
Le BIM comprend une poignée de schémas de couleurs pour l'interface et la mise en évidence de la syntaxe.
Un thème simple à 16 couleurs. Peut être configuré pour une utilisation sur les bornes avec ou sans support de couleur vive. Ressemble un peu à l'IRSSI.

Un thème de couleur 24 bits original avec des bruns rustiques et des couleurs pastel modérées.

Une version 256 couleurs de Sunsmoke pour une utilisation dans les terminaux qui ne prennent pas en charge les couleurs 24 bits.

Un thème de 256 couleurs basé sur le thème du même nom pour VIM.

Un thème de couleur 24 bits basé sur la palette de couleurs populaire.

Un thème de couleur 24 bits basé sur celui de Atom et Sublime, avec des blues à faible contraste.

Basé sur sélénisé par Jan Warchoł

BIM importera automatiquement ~/.bim3rc au démarrage.
Un exemple BIMRC détaillé est disponible sur docs / example.bim3rc.
Les scripts BIM sont écrits à Kuroko.
Tous les surligneurs de syntaxe ne sont pas complets ou ne prennent pas en charge toutes les caractéristiques de leurs langues respectives.
La fonctionnalité principale de Bim vit dans bim.c
Les surligneurs et les thèmes de syntaxe sont écrits à Kuroko et trouvés dans les répertoires syntax et themes .
Le moteur d'expression régulière de Bim est quelque chose que j'ai cuit au hasard. Sa fonctionnalité est quelque peu limitée et le comportement est susceptible de changer.
.^ correspond au début d'une ligne, $ correspond à la fin.. correspond à n'importe quel personnage.[] Les supports peuvent être utilisés pour des matchs alternatifs.^ Comme le premier personnage nie le match.ab pour les gammes simples.- dans une expression du support, placez-le avant tout autre caractère mais après un zéro ^ , comme [-_*] .^ dans une expression du support, utilisez-le n'importe quelle position après le premier. [^^] signifie "tout sauf ^ ".] dans une expression de support, utilisez ] .t Utilisez \ pour une barre oblique inverse littérale.. , [] , et les caractères uniques peuvent être combinés avec les éléments suivants, avec retour en arrière:? Facultativement correspond à une fois.* correspond à n'importe quel nombre d'occasions.+ correspond au moins à l'occasion.* et + sont gourmands par défaut, mais peuvent être suivis avec ? pour les rendre non sordides.() Les parenthèses peuvent être utilisées au niveau supérieur pour les groupes de capture.Lorsque vous effectuez des remplacements, certaines séquences d'échappement sont prises en charge:
t insère un caractère d'onglet. \ insère une barre oblique inverse littérale.