
BIM - это текстовый редактор терминала с выделением синтаксиса.
Вдохновленный VIM (можно сказать, что плохая подражание) и с аналогичным редактированием на основе режима, BIM был первоначально написан для Toaruos, но также был протестирован в Linux, Hookix, FreeBSD и MacOS.
BIM предназначен как включенный текстовый редактор в Toaruos, хобби -операционная система, созданная с нуля.
BIM стремится быть легким и функциональным без внешних* зависимостей, обеспечивая современный опыт редактирования в легком, расширяемом пакете.
hjkl .git diff , а также неспасенные изменения. BIM требует достаточно Unix-подобной библиотеки C и компилятора C99 с определенными расширениями GNU (например, __attribute__((constructor)) ).
BIM 3 также нуждается в Kuroko, который имеет аналогичные требования. BIM, как правило, статически связан с интерпретатором Kuroko для Linux Builds и динамически связан для сборки Toaruos.
BIM был успешно построен для ряда целей, включая различные BSDS, TOARUOS, Sookix и другие.
Сначала установите 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'Затем постройте BIM:
git clone https://github.com/klange/bim
cd bim
make && sudo make installЗатем установите пример config:
cp docs/example.bim3rc ~ /.bim3rc BIM был протестирован в ряде терминалов, и, хотя он не использует базы данных terminfo , базовые функциональные возможности должны быть доступны в подавляющем большинстве эмуляторов остатков и даже классическом оборудовании DEC.
Если терминал, который вы используете, имеет некоторые причуды или не хорошо играет с предположениями по умолчанию, вы можете изменить поведение в соответствии с вашей средой.
Функции возможностей можно управлять с помощью «причудливых», либо через команду quirk в BIMRC, либо с параметром командной строки -O .
Форматом команды quirk является quirk(envvar,teststr,'no...','can...',...) , где ENVVAR - это имя переменной среды, а teststr - это строка, чтобы проверить, которая должна быть префиксом переменной среды.
Например, quirk('TERM','xterm','nounicode') отключит выход Unicode на всех терминалах, начиная с «XERM» (включая «XERM-256COLOR»).
Вы также можете указать причуды с переменной среды $COLORTERM или переменной $TERMINAL_EMULATOR , установленной определенными IDE.
Некоторые примеры конфигураций Quirk представлены в docs/example.bim3rc и могут быть хорошим местом для начала, если вы испытываете проблемы с рендерингом.
Поддержка Unicode/UTF-8 рекомендуется и предполагается по умолчанию. Опция nounicode Quirk отключит вывод символов UTF-8 и отобразит их в качестве намеков CodePoint, таких как <U+1234> .
256-цветный и 24-битный цвет также предполагаются по умолчанию, отключите их с помощью no256color и no24bit соответственно.
Если у вас есть особенно низкоцветный терминал, причуд nobright намекает на темы, что следует использовать только более низкие 8 цветов.
Поддерживаются три режима прокрутки: прокрутка сдвига, вставка/удаление прокрутки и прокрутка перерисовки.
Прокрутка сдвига ( ^[[1S / ^[[1T ) предполагается по умолчанию. Если ваш терминал поддерживает вставку / удаление прокрутки ( ^[[L / ^[[M ), включите причудку caninsert .
Если ни одна из опций прокрутки не доступна, используйте Quirk noscroll , чтобы перерисовать текстовое поле при прокрутке. Это, вероятно, будет медленным!
Поддержка мыши с ^[[?1000h предполагается по умолчанию. Используйте nomouse Quirk, чтобы отключить его.
Если ваш терминал поддерживает режимы мыши SGR («1006»), включите cansgrmouse Quirk. Большинство XERM-подобных терминалов поддерживают это, и это обеспечит поддержку щелчка на ячейках в более крупных терминальных окнах.
Альтернативная поддержка экрана также предполагается. Обычно это хорошо, даже если ваш терминал не поддерживает его, но если это вызывает проблемы, Quirk noaltscreen отключит его.
По умолчанию можно найти в docs/mappings.md.
Этот список можно сгенерировать с помощью bim --dump-mappings .
Полный список доступных команд можно найти в docs/commands.md.
Этот список можно сгенерировать с помощью bim --dump-commands .
Вы можете использовать BIM для отображения файлов в вашем терминале с помощью синтаксиса с помощью bim -c (без номеров линий) и bim -C (с номерами строк).

Вы можете подтолкнуть текст для редактирования с помощью bim - . Обратите внимание, что BIM будет ждать окончания файла перед запуском, так что это не подходит для использования в качестве пейджера (запланирована поддержка пейджера).
BIM также может использоваться для генерации HTML-документов с помощью синтаксис-зажиговатого исходного кода с bim --html ; Настройка тема будет использоваться.
BIM включает в себя несколько цветовых схем для интерфейса и синтаксиса.
Простая 16-цвета тема. Может быть настроен для использования на терминалах с или без ярко -цветной поддержки. Похоже на IRSSI.

Оригинальная 24-битная цветовая тема с деревенскими коричневыми цветами и приглушенными пастельными цветами.

256-цветная версия Sunsmoke для использования в терминалах, которые не поддерживают 24-битный цвет.

256-цветная тема, основанная на теме темы с той же названием для Vim.

24-разрядная цветовая тема, основанная на популярной цветовой палитре.

24-разрядная цветовая тема, основанная на атоме и возвышенном, с низким контрастным блюзом.

Основано на селизировании Яна Уорчол

BIM автоматически импортирует ~/.bim3rc при запуске.
Подробный пример BIMRC доступен в docs/example.bim3rc.
Сценарии BIM написаны в Куроко.
Не все синтаксические высокопоставленные майки полны или поддерживают все функции их соответствующих языков.
Основная функциональность Бим живет в bim.c
Синтаксические марки и темы написаны в Куроко и находятся в каталогах syntax и themes .
Регулярное движение BIM - это то, что я приготовил случайно. Его функциональность несколько ограничена, а поведение может быть изменено.
.^ Соответствует началу линии, $ соответствует концу.. соответствует любому персонажу.[] Кроншеты можно использовать для альтернативных совпадений.^ как первый персонаж отрицает матч.ab для простых диапазонов.- в выражение скобки, поместите его перед любым другим символом, но после отрицательного ^ , такого как [-_*] .^ в выражение кронштейна, используйте его любую позицию после первой. [^^] означает «все, кроме ^ ».] в выражение кронштейна, используйте ] .t . Используйте \ для буквальной обратной черты.. , [] и отдельные символы могут быть объединены со следующим, с возвращением:? При желании совпадает один раз.* Соответствует любому количеству случаев.+ совпадает, по крайней мере, по случаю.* и + по умолчанию жадны, но можно следовать ? Чтобы сделать их не-сильными.() Сложные условия могут использоваться на верхнем уровне для групп захвата.При выполнении замены поддерживаются некоторые последовательности побега:
t вставляет символ вкладки. \ Вкладывает буквальную обратную черту.