
BIM은 구문 강조 표시가있는 터미널 텍스트 편집기입니다.
VIM에서 영감을 얻은 (나쁜 모방이라고 말할 수 있음) 유사한 모드 기반 편집을 특징으로하는 BIM은 원래 Toaruos를 위해 작성되었지만 Linux, Sortix, FreeBSD 및 MacOS에서도 테스트되었습니다.
BIM은 처음부터 구축 된 취미 운영 체제 인 Toaruos의 텍스트 편집기로 의도 된 것입니다.
BIM은 외부* 종속성없이 가볍고 특징이되어 경량의 확장 가능한 패키지로 최신 편집 경험을 제공하는 것을 목표로합니다.
hjkl 탐색.git diff 상태를 인라인으로 보여줍니다. BIM에는 충분히 유닉스 형 C 라이브러리와 특정 GNU 확장 기능이있는 C99 컴파일러가 필요합니다 (예 : __attribute__((constructor)) ).
BIM 3에는 비슷한 요구 사항이있는 Kuroko도 필요합니다. BIM은 일반적으로 Linux 빌드의 Kuroko 인터프리터와 정적으로 연결되며 Toaruos 빌드에 동적으로 연결됩니다.
BIM은 다양한 BSD, Toaruos, Sortix 등을 포함한 여러 대상을 위해 성공적으로 구축되었습니다.
먼저 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그런 다음 예제 구성을 설치합니다.
cp docs/example.bim3rc ~ /.bim3rc BIM은 여러 터미널에서 테스트되었으며 terminfo 데이터베이스를 사용하지 않지만 대부분의 잔재 에뮬레이터 및 클래식 DEC 하드웨어에서도 기본 기능을 사용할 수 있어야합니다.
사용중인 터미널에 약간의 기발한 사람이 있거나 기본 가정과 잘 어울리지 않으면 환경에 맞게 동작을 수정할 수 있습니다.
기능 기능은 BIMRC의 quirk 명령을 통해 또는 -O 명령 줄 옵션을 통해 "Quirks"로 제어 할 수 있습니다.
quirk 명령의 형식은 quirk(envvar,teststr,'no...','can...',...) 여기서 ENVVAR 는 환경 변수의 이름이고 teststr 환경 변수의 접두사 여야하는 문자열입니다.
예를 들어, quirk('TERM','xterm','nounicode') "xterm"( "xter-256color"포함)으로 시작하는 모든 터미널에서 유니 코드 출력을 비활성화합니다.
$COLORTERM 환경 변수 또는 특정 IDE에 의해 설정된 $TERMINAL_EMULATOR 변수의 기발한 점을 지정할 수도 있습니다.
Quirk 구성은 문서/example.bim3rc에 제공되며 렌더링 문제가 발생하면 시작하기에 좋은 장소 일 수 있습니다.
유니 코드/UTF-8 지원은 기본적으로 권장되며 가정됩니다. nounicode Quirk 옵션은 UTF-8 문자의 출력을 비활성화하고 대신 <U+1234> 와 같은 CodePoint 힌트로 렌더링됩니다.
256 색 및 24 비트 색상도 기본적으로 가정됩니다. 각각 no256color 및 no24bit Quirks로 비활성화합니다.
색이 특히 낮은 단자가있는 경우 nobright Quirk는 더 낮은 8 색 만 사용해야한다는 테마를 암시합니다.
Shift Scrolling, Insert/Scrolling 및 Scrolling의 세 가지 스크롤 모드가 지원됩니다.
Shift Scrolling ( ^[[1S / ^[[1T ))는 기본적으로 가정됩니다. 터미널이 삽입 / 삭제 스크롤링을 지원하는 경우 ( ^[[L / ^[[M ) caninsert Quirk를 활성화하십시오.
스크롤 옵션을 사용할 수 없으면 noscroll Quirk를 사용하여 스크롤 할 때 텍스트 필드를 다시 그리십시오. 이것은 아마도 느릴 것입니다!
^[[?1000h 는 기본적으로 가정됩니다. nomouse Quirk를 사용하여 비활성화하십시오.
터미널이 SGR 마우스 모드 ( "1006")를 지원하는 경우 cansgrmouse Quirk를 활성화하십시오. 대부분의 Xerm와 같은 터미널은이를 지원하며 더 큰 터미널 창에서 셀 클릭을 지원합니다.
대체 화면 지원도 가정됩니다. 터미널이 지원하지 않더라도 일반적으로 괜찮습니다. 그러나 문제를 일으키는 경우 noaltscreen Quirk가 비활성화됩니다.
DOCS/MAPPING.MD에서는 기본 키 연결을 찾을 수 있습니다.
이 목록은 bim --dump-mappings 으로 생성 될 수 있습니다.
사용 가능한 명령의 전체 목록은 Docs/Commands.md에 있습니다.
이 목록은 bim --dump-commands 으로 생성 될 수 있습니다.
BIM을 사용하여 bim -c (라인 번호 없음) 및 bim -C (줄 번호 포함)로 구문 강조 표시로 터미널에 파일을 표시 할 수 있습니다.

BIM으로 편집하기 위해 텍스트를 bim - 으로 파이프로 파이프 할 수 있습니다. BIM은 출시 전에 파일 끝을 기다릴 것이므로 호출기로 사용하는 데 적합하지 않습니다 (호출기 지원이 계획).
BIM은 또한 bim --html 사용하여 구문 하이라이트 소스 코드로 HTML 문서를 생성하는 데 사용될 수 있습니다. 구성된 테마가 사용됩니다.
BIM에는 인터페이스 및 구문 하이라이트를위한 소수의 색 구성표가 포함되어 있습니다.
평범한 16 색 테마. 밝은 색상 지원이 있거나없는 터미널에서 사용하도록 구성 할 수 있습니다. IRSSI처럼 보입니다.

소박한 갈색과 차분한 파스텔 색상이있는 원래 24 비트 컬러 테마.

24 비트 색상을 지원하지 않는 터미널에서 사용하기위한 256 색 버전의 SunSmoke.

Vim의 동일한 이름을 기반으로 256 색 테마.

인기있는 컬러 팔레트를 기반으로하는 24 비트 컬러 테마.

대비가 낮은 블루스가 특징 인 Atom 및 Sublime 용 24 비트 컬러 테마.

Jan Warchoł의 Selenized를 기반으로합니다

BIM은 시작시 ~/.bim3rc 자동으로 가져옵니다.
자세한 BIMRC 예제는 DOCS/example.bim3rc에서 제공됩니다.
BIM 스크립트는 Kuroko로 작성되었습니다.
모든 구문 형광펜이 해당 언어의 모든 기능을 완성하거나 지원하는 것은 아닙니다.
BIM의 핵심 기능은 bim.c 에 있습니다.
구문 형광펜과 테마는 Kuroko로 작성되어 syntax 및 themes 디렉토리에서 발견됩니다.
BIM의 정규 표현 엔진은 내가 우연히 요리 한 것입니다. 기능은 다소 제한적이며 행동은 변화 될 수 있습니다.
로 탈출 할 수 있습니다.^ 라인의 시작과 일치하고 $ 끝과 일치합니다.. 모든 캐릭터와 일치합니다.[] 브래킷은 대체 경기에 사용할 수 있습니다.^ 첫 번째 캐릭터가 경기를 무효화합니다.ab 사용하십시오.- 하려면 [-_*] 와 같은 다른 문자보다 먼저 ^ 부정 한 후에 배치하십시오.^ 포함 시키려면 첫 번째 위치 후에는 어떤 위치에도 사용하십시오. [^^] " ^ 제외한 모든 것을 의미합니다.] ] 하십시오.t 로 표시 될 수 있습니다. 문자 그대로의 백 슬래시에는 \ 사용하십시오.. , [] 및 단일 문자는 다음과 함께 역 추적과 결합 될 수 있습니다.? 선택적으로 한 번 일치합니다.* 모든 발생과 일치합니다.+ 적어도 발생하면 일치합니다.* 및 + 는 기본적으로 탐욕 스럽지만 따라갈 수 있습니까 ? 그들을 그리지가 아닌 것으로 만들기 위해.() 괄호는 캡처 그룹을 위해 최상위 레벨에서 사용할 수 있습니다.교체를 수행 할 때 일부 탈출 시퀀스가 지원됩니다.
t 탭 문자를 삽입합니다. \ 문자 그대로의 백 슬래시를 삽입합니다.