Saya senang mengumumkan paket baru, e2ansi , yang menyediakan dukungan penyorotan sintaks untuk pager seperti more
dan less
.
Paket ini menggunakan ibu dari semua editor teks, Emacs , untuk melakukan penyorotan sintaksis yang sebenarnya. Sebagai bonus tambahan, semua konversi lain yang biasanya dilakukan oleh Emacs - seperti file yang tidak dikompresi - juga dilakukan.
Contoh
Berikut ini adalah hasil dari melihat file menggunakan less
dan
e2ansi
:
Konfigurasi
Paket ini menyediakan alat baris perintah e2ansi-cat
yang memulai Emacs dalam mode batch, membuka file, sintaksis menyoroti mereka, dan merender hasilnya menggunakan urutan ANSI.
Anda dapat mengintegrasikan ini ke dalam less
dengan mengatur variabel-variabel berikut ke, misalnya (lokasi file init Anda dapat bervariasi):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
Dalam konfigurasi di atas, less
pulihkan konten jendela terminal yang asli sementara more
cukup tampilkan konten baru setelah prompt.
Catatan: Jika Anda menggunakan versi lama less
, itu mungkin tidak mendukung
||
atau -
sintaksis, dalam hal ini Anda mungkin perlu menggunakan secara sederhana
LESSOPEN=|/usr/local/emacs ...
.
Menggunakan less
pipa
Karakter "-" di LESSOPEN
menunjukkan bahwa filter input juga harus digunakan saat memipis teks ke less
. Dalam hal ini, Emacs hanya bisa mengandalkan teks itu sendiri (dan bukan nama file). Untungnya, Emacs menyediakan sistem untuk ini. Selain itu, file file yang disediakan
e2ansi-magic.el
mengatur jenis file tambahan. Sebagai contoh:
Mengapa menggunakan Emacs?
- Emacs memiliki dukungan untuk hampir semua bahasa pemrograman dan format teks terstruktur. Dalam kebanyakan kasus, dukungan penyorotan sintaks sangat baik.
- Anda dapat dengan mudah menambahkan dukungan untuk lebih banyak bahasa dan format, atau memodifikasi paket yang ada sesuai dengan kebutuhan Anda.
- Emacs mendukung tema warna. Saat menggunakan
e2ansi
, warna dalam tema dipertahankan saat melihat file less
. Anda dapat memilih tema warna yang sesuai dari sejumlah sumber, atau merancang sendiri.
- Jika Anda menggunakan Emacs sebagai editor pilihan Anda, Anda akan mendapatkan sorotan yang sama di editor seperti yang Anda dapatkan ketika melihat file menggunakan
less
(minus batasan dalam format urutan ANSI dan jendela terminal).
less
akan memanfaatkan fitur Emacs yang melakukan konversi otomatis, misalnya file yang tidak dikompresi. Bahkan, Anda dapat mengajar Emacs untuk melakukan segala jenis konversi seperti secara otomatis mengkonversi file biner ke bentuk yang dapat dibaca manusia menggunakan alat eksternal.
- Anda dapat melihat file yang terletak di komputer lain dengan menggunakan sintaks Emacs untuk akses jarak jauh seperti
/USER@HOST:FILENAME
.
Tautan yang bermanfaat
e2ansi
didistribusikan di Melpa dan dapat diinstal menggunakan sistem paket Emacs standar
e2ansi
di-host di GitHub
- The
e2ansi
halaman di Emacs Wiki
- Rumah dari
less
.
Catatan sistem operasi
Pada MS Windows, konsol tidak secara asli mendukung urutan ANSI. Untungnya, less
aplikasi ini mampu menampilkannya. Saya tidak mengetahui adanya distribusi biner kontemporer less
untuk MS Windows dan file build yang disediakan sulit digunakan. Untungnya, mudah dibuat less
menggunakan CMake , lihat teks ini untuk detailnya.
OS X mendistribusikan versi kuno less
. Untungnya, mudah untuk membangun versi modern langsung dari sumbernya.
less ~/.zshrc
. Kesalahan:src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Saya menjalankan ini di MacOSX.