
BIM es un editor de texto terminal con sintaxis resaltando.
Inspirado por Vim (se podría decir una mala imitación) y con una edición similar basada en el modo, BIM se escribió originalmente para Toaruos, pero también se ha probado en Linux, Sortix, FreeBSD y MacOS.
BIM se pretende como el editor de texto incluido en Toaruos, un sistema operativo de pasatiempo construido desde cero.
BIM tiene como objetivo ser ligero y característico sin dependencias externas*, proporcionando una experiencia de edición moderna en un paquete ligero y extensible.
hjkl .git diff en línea, junto con cambios no salvos. BIM requiere una biblioteca C suficientemente unix y un compilador C99 con ciertas extensiones de GNU (como __attribute__((constructor)) ).
BIM 3 también necesita Kuroko, que tiene requisitos similares. BIM está típicamente vinculado estáticamente con el intérprete Kuroko para las compilaciones de Linux, y se vincula dinámicamente para las compilaciones de Toaruos.
BIM se ha construido con éxito para varios objetivos, incluidos varios BSD, Toaruos, Sortix y otros.
Primero, instale 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'Entonces construye bim:
git clone https://github.com/klange/bim
cd bim
make && sudo make installLuego instale la configuración de ejemplo:
cp docs/example.bim3rc ~ /.bim3rc BIM se ha probado en una serie de terminales, y aunque no utiliza bases de datos terminfo , la funcionalidad básica debería estar disponible en la gran mayoría de los emuladores remanentes e incluso el hardware clásico de DEC.
Si el terminal que está utilizando tiene algunas peculiaridades o no juega bien con los supuestos predeterminados, puede modificar el comportamiento para adaptarse a su entorno.
Las características de capacidad se pueden controlar con "Quirks", ya sea a través del comando quirk en un BIMRC o con la opción de línea de comandos -O .
El formato del comando quirk es quirk(envvar,teststr,'no...','can...',...) donde ENVVAR es el nombre de una variable de entorno y teststr es una cadena para verificar que debe ser un prefijo de la variable de entorno.
Por ejemplo, quirk('TERM','xterm','nounicode') deshabilitará la salida de Unicode en todos los terminales que comienzan con "xterm" (incluido "XterM-256Color").
También puede especificar las peculiaridades con la variable de entorno $COLORTERM , o la variable $TERMINAL_EMULATOR establecida por ciertos IDES.
Algunas configuraciones de Quirk de ejemplo se proporcionan en Docs/Ejemplo.BIM3RC y pueden ser un buen lugar para comenzar si está experimentando problemas de representación.
El soporte de UNICODE/UTF-8 se recomienda y se supone por defecto. La opción de Quirk nounicode deshabilitará la salida de los caracteres UTF-8 y los representará como sugerencias de CodePoint como <U+1234> .
El color de 256 colores y 24 bits también se supone de forma predeterminada, desactívalos con las peculiaridades no256color y no24bit respectivamente.
Si tiene una terminal de color particularmente bajo, el Quirque nobright insinuará temas de que solo se deben usar los 8 colores inferiores.
Se admiten tres modos de desplazamiento: desplazamiento de desplazamiento, inserto/eliminación de desplazamiento y desplazamiento de redibujado.
El desplazamiento de cambio ( ^[[1S / ^[[1T ) se supone de forma predeterminada. Si su terminal admite insertar / eliminar desplazamiento ( ^[[L / ^[[M ), habilite el capricho caninsert .
Si ninguna opción de desplazamiento está disponible, use la peculiaridad noscroll para volver a dibujar el campo de texto al desplazarse. ¡Esto probablemente será lento!
El soporte del mouse con ^[[?1000h se supone de forma predeterminada. Use el capricho nomouse para deshabilitarlo.
Si su terminal admite los modos de mouse SGR ("1006"), habilite la peculiaridad cansgrmouse . La mayoría de los terminales similares a Xterm admiten esto y proporcionarán soporte para hacer clic en celdas en ventanas terminales más grandes.
También se supone que el soporte de pantalla alternativo. Esto normalmente está bien incluso si su terminal no lo admite, pero si causa problemas, el peculiaridad noaltscreen lo deshabilitará.
Las teclas predeterminadas se pueden encontrar en Docs/Mappes.md.
Este listado se puede generar con bim --dump-mappings .
Se puede encontrar una lista completa de los comandos disponibles en Docs/Commands.md.
Este listado se puede generar con bim --dump-commands .
Puede usar BIM para mostrar archivos en su terminal con resaltado de sintaxis con bim -c (sin números de línea) y bim -C (con números de línea).

Puede tuve el texto para BIM para editar con bim - . Tenga en cuenta que BIM esperará a finales de archivo antes del lanzamiento, por lo que esto no es adecuado para su uso como buscapersonas (se planifica el soporte de buscapersonas).
BIM también se puede usar para generar documentos HTML con código fuente de sintaxis con bim --html ; Se utilizará el tema configurado.
BIM incluye un puñado de esquemas de color para la interfaz y el resaltado de sintaxis.
Un tema simple de 16 colores. Se puede configurar para su uso en terminales con o sin soporte de color brillante. Se parece un poco a Irssi.

Un tema original de color de 24 bits con marrones rústicos y colores pastel tenue.

Una versión de 256 colores de Sunsmoke para su uso en terminales que no admiten el color de 24 bits.

Un tema de 256 colores basado en el tema del mismo nombre para VIM.

Un tema de color de 24 bits basado en la popular paleta de colores.

Un tema de color de 24 bits basado en el de Atom y Sublime, con azules de bajo contraste.

Basado en selenizado por Jan Warchoł

BIM importará automáticamente ~/.bim3rc en el inicio.
Un ejemplo detallado de BIMRC está disponible en Docs/Ejemplo.BIM3RC.
Los guiones BIM están escritos en Kuroko.
No todos los marcadores de sintaxis están completos o admiten todas las características de sus respectivos idiomas.
La funcionalidad central de Bim vive en bim.c
Los resaltadores y temas de sintaxis están escritos en Kuroko y se encuentran en los directorios syntax y themes .
El motor de expresión regular de Bim es algo que cociné al azar. Su funcionalidad es algo limitada y el comportamiento está sujeto a cambios.
.^ coincide con el inicio de una línea, $ coincide con el final.. coincide con cualquier personaje.[] Los soportes se pueden usar para coincidencias alternativas.^ Como el primer personaje niega el partido.ab para rangos simples.- en una expresión de soporte, colóquelo ante cualquier otro personaje, pero después de un negación ^ , como [-_*] .^ en una expresión de soporte, úselo cualquier posición después de la primera. [^^] significa "cualquier cosa excepto ^ ".] en una expresión de soporte, use ] .t . Use \ para una barra invertida literal.. , [] , y los caracteres individuales se pueden combinar con lo siguiente, con retroceso:? Opcionalmente coincide una vez.* coincide con cualquier número de ocurrencias.+ coincide al menos en ocurrencia.* y + son codiciosos de forma predeterminada, pero se puede seguir con ? para hacerlos no grises.() Los paréntesis se pueden usar en el nivel superior para grupos de captura.Al realizar reemplazos, se admiten algunas secuencias de escape:
t inserta un personaje de pestaña. \ Inserta una barra inalcadora literal.