
BIM adalah editor teks terminal dengan penyorotan sintaks.
Terinspirasi oleh VIM (orang mungkin mengatakan tiruan yang buruk) dan menampilkan pengeditan berbasis mode yang serupa, BIM awalnya ditulis untuk Toaruos, tetapi juga telah diuji di Linux, Sortix, Freebsd, dan MacOS.
BIM dimaksudkan sebagai editor teks yang disertakan di Toaruos, sistem operasi hobi yang dibangun dari awal.
BIM bertujuan untuk menjadi ringan dan fitur tanpa dependensi eksternal*, memberikan pengalaman pengeditan modern dalam paket yang ringan dan dapat diperluas.
hjkl .git diff in-line, bersama dengan perubahan yang belum disimpan. BIM membutuhkan perpustakaan C yang cukup seperti Unix dan kompiler C99 dengan ekstensi GNU tertentu (seperti __attribute__((constructor)) )).
BIM 3 juga membutuhkan Kuroko, yang memiliki persyaratan serupa. BIM biasanya secara statis terkait dengan penerjemah Kuroko untuk build Linux, dan secara dinamis terkait dengan Toaruos Builds.
BIM telah dibangun dengan sukses untuk sejumlah target, termasuk berbagai BSD, Toaruos, Sortix, dan lainnya.
Pertama, instal 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'Kemudian bangun bim:
git clone https://github.com/klange/bim
cd bim
make && sudo make installKemudian instal Contoh Konfigurasi:
cp docs/example.bim3rc ~ /.bim3rc BIM telah diuji di sejumlah terminal, dan sementara itu tidak menggunakan database terminfo , fungsionalitas dasar harus tersedia di sebagian besar emulator sisa dan bahkan perangkat keras DEC klasik.
Jika terminal yang Anda gunakan memiliki beberapa keanehan atau tidak bermain dengan baik dengan asumsi default, Anda dapat memodifikasi perilaku yang sesuai dengan lingkungan Anda.
Fitur kemampuan dapat dikontrol dengan "keanehan", baik melalui perintah quirk di BIMRC, atau dengan opsi baris perintah -O .
Format perintah quirk adalah quirk(envvar,teststr,'no...','can...',...) di mana ENVVAR adalah nama variabel lingkungan dan teststr adalah string untuk memeriksa yang harus menjadi awalan variabel lingkungan.
Misalnya, quirk('TERM','xterm','nounicode') akan menonaktifkan output unicode pada semua terminal yang dimulai dengan "xterm" (termasuk "xterm-256color").
Anda juga dapat menentukan keanehan dengan variabel lingkungan $COLORTERM , atau variabel $TERMINAL_EMULATOR yang ditetapkan oleh IDE tertentu.
Beberapa contoh konfigurasi quirk disediakan dalam dokumen/contoh.bim3rc dan mungkin tempat yang baik untuk memulai jika Anda mengalami masalah rendering.
Dukungan Unicode/UTF-8 direkomendasikan dan diasumsikan secara default. Opsi nounicode quirk akan menonaktifkan output karakter UTF-8 dan menjadikannya sebagai codepoint mengisyaratkan seperti <U+1234> sebagai gantinya.
Warna 256-warna dan 24-bit juga diasumsikan secara default, nonaktifkan mereka dengan no256color dan no24bit qualks masing-masing.
Jika Anda memiliki terminal warna yang sangat rendah, kekhawatiran nobright akan mengisyaratkan tema bahwa hanya 8 warna yang lebih rendah yang harus digunakan.
Tiga mode gulir didukung: menggeser gulir, memasukkan/menghapus gulir, dan menggulir ulang gulir.
Menggeser gulir ( ^[[1S / ^[[1T ) diasumsikan secara default. Jika terminal Anda mendukung memasukkan / menghapus gulir ( ^[[L / ^[[M ), aktifkan caninsert quirk.
Jika tidak ada opsi gulir yang tersedia, gunakan noscroll quirk untuk menggambar ulang bidang teks saat menggulir. Ini mungkin akan lambat!
Dukungan tikus dengan ^[[?1000h diasumsikan secara default. Gunakan nomouse Quirk untuk menonaktifkannya.
Jika terminal Anda mendukung mode mouse SGR ("1006"), aktifkan cansgrmouse quirk. Sebagian besar terminal seperti xterm mendukung ini dan akan memberikan dukungan untuk klik pada sel di jendela terminal yang lebih besar.
Dukungan layar alternatif juga diasumsikan. Ini biasanya baik -baik saja bahkan jika terminal Anda tidak mendukungnya, tetapi jika itu menyebabkan masalah, noaltscreen quirk akan menonaktifkannya.
Bindakan key default dapat ditemukan di Docs/Mappings.md.
Daftar ini dapat dihasilkan dengan bim --dump-mappings .
Daftar lengkap perintah yang tersedia dapat ditemukan di Docs/Commands.md.
Daftar ini dapat dihasilkan dengan bim --dump-commands .
Anda dapat menggunakan BIM untuk menampilkan file di terminal Anda dengan Sintaks Sorot dengan bim -c (tidak ada nomor baris) dan bim -C (dengan nomor baris).

Anda dapat menyalurkan teks ke BIM untuk diedit dengan bim - . Perhatikan bahwa BIM akan menunggu ujung-file sebelum diluncurkan, jadi ini tidak cocok untuk digunakan sebagai pager (dukungan pager direncanakan).
BIM juga dapat digunakan untuk menghasilkan dokumen HTML dengan kode sumber sintaks dengan bim --html ; Tema yang dikonfigurasi akan digunakan.
BIM mencakup beberapa skema warna untuk antarmuka dan sintaksis sintaksis.
Tema 16-warna polos. Dapat dikonfigurasi untuk digunakan pada terminal dengan atau tanpa dukungan warna yang cerah. Tampak seperti irssi.

Tema warna 24-bit asli dengan cokelat pedesaan dan warna pastel yang tenang.

Versi 256 warna Sunsmoke untuk digunakan dalam terminal yang tidak mendukung warna 24-bit.

Tema 256-warna berdasarkan tema dengan nama yang sama untuk Vim.

Tema warna 24-bit berdasarkan palet warna yang populer.

Tema warna 24-bit berdasarkan satu untuk Atom dan Sublime, menampilkan blues kontras rendah.

Berdasarkan Selenized oleh Jan Warchoł

BIM akan secara otomatis mengimpor ~/.bim3rc saat startup.
Contoh BIMRC terperinci tersedia di Docs/Example.bim3rc.
BIM Script ditulis dalam Kuroko.
Tidak semua penyorot sintaks adalah lengkap atau mendukung semua fitur bahasa masing -masing.
Fungsi inti BIM hidup di bim.c
Sintaksis dan tema sintaks ditulis dalam Kuroko dan ditemukan di direktori syntax dan themes .
Mesin ekspresi reguler BIM adalah sesuatu yang saya masak dengan sembarangan. Fungsinya agak terbatas dan perilakunya dapat berubah.
.^ Cocokkan awal garis, $ cocok dengan akhir.. cocok dengan karakter apa pun.[] Kurung dapat digunakan untuk pertandingan alternatif.^ Sebagai karakter pertama meniadakan pertandingan.ab untuk rentang sederhana.- dalam ekspresi braket, letakkan di depan karakter lain tetapi setelah negasi ^ , seperti [-_*] .^ dalam ekspresi braket, gunakan posisi apa pun setelah yang pertama. [^^] berarti "apapun kecuali ^ ".] dalam ekspresi braket, gunakan ] .t . Gunakan \ untuk backslash literal.. , [] , dan karakter tunggal dapat dikombinasikan dengan yang berikut, dengan mundur:? Secara opsional cocok sekali.* cocok dengan sejumlah kejadian.+ kecocokan setidaknya pada kejadian.* dan + serakah secara default, tetapi dapat diikuti dengan ? untuk menjadikan mereka non-greedy.() tanda kurung dapat digunakan di tingkat atas untuk kelompok penangkapan.Saat melakukan penggantian, beberapa urutan pelarian didukung:
t menyisipkan karakter tab. \ memasukkan backslash literal.