Vis bertujuan untuk menjadi editor modern, bebas warisan, sederhana namun efisien, menggabungkan kekuatan vi(m) dan sam.
Ini memperluas pengeditan modal vi dengan dukungan bawaan untuk beberapa kursor/pilihan dan menggabungkannya dengan bahasa perintah berbasis ekspresi reguler struktural sam.
Editor universal, memiliki dukungan Unicode yang layak dan dapat menangani file arbitrer, termasuk file besar, biner, atau baris tunggal.
Penyorotan sintaksis yang efisien disediakan menggunakan Parsing Expression Grammars, yang dapat dengan mudah diekspresikan menggunakan Lua dalam bentuk LPeg.
Inti editor ditulis dalam jumlah yang wajar (jarak tempuh Anda mungkin berbeda-beda), kode C modern dan bebas warisan, memungkinkannya berjalan di lingkungan dengan sumber daya terbatas. Implementasinya harus mudah untuk diretas dan mendorong eksperimen. Ada juga Lua API untuk ekstensi dalam proses.
Vis berusaha untuk menjadi sederhana dan fokus pada tugas intinya: manajemen teks yang efisien. Penanganan clipboard dan digraph serta dialog buka file fuzzy semuanya disediakan oleh utilitas independen. Terdapat rencana untuk menggunakan arsitektur klien/server, mendelegasikan manajemen jendela ke sistem windowing atau multiplekser terminal favorit Anda.
Tujuannya bukan agar bug-demi-bug kompatibel dengan vi(m). Alih-alih,
kami bertujuan untuk menyediakan fitur pengeditan yang lebih canggih berdasarkan desain yang elegan dan penerapan yang bersih.
Untuk membangun vis Anda memerlukan kompiler C99, lingkungan yang kompatibel dengan POSIX.1-2008 serta:
Dengan asumsi dependensi ini terpenuhi, jalankan:
$ ./configure && make && sudo make install
Secara default skrip configure
akan mencoba mendeteksi secara otomatis dukungan untuk Lua menggunakan pkg-config(1)
. Lihat configure --help
untuk daftar opsi yang didukung. Anda juga dapat mengubah file config.mk
yang dihasilkan secara manual.
Atau cukup gunakan salah satu paket distribusi yang disediakan.
Dokumentasi pengguna akhir dapat ditemukan di halaman manual vis(1)
dan Wiki. Baca FAQ untuk pertanyaan umum. Pelajari tentang beberapa perbedaan dibandingkan dengan sam(1)
dan vim(1)
.
C API serta dokumentasi Lua API juga tersedia.
Beberapa fitur yang tidak akan diterapkan:
#ifdef
mess Ada banyak cara untuk berkontribusi, berikut beberapa idenya:
:help
Lihat Ikhtisar Pengembang untuk memulai dan jangan ragu untuk mengajukan pertanyaan di saluran #vis-editor
IRC di libera (bergabung melalui browser Anda).