Dengan highlight
pada terminal yang mendukung urutan pelarian warna yang sama seperti xterm
:
highlight -O xterm256 your-file | less -R
Dengan ruby-rouge
:
rougify your-file | less -R
Dengan python-pygments
:
pygmentize your-file | less -R
Dengan GNUsource-highlight
:
source-highlight -f esc256 -i your-file | less -R
Anda juga dapat menggunakan vim
pager dengan bantuan macros/less.sh
skrip yang dikirimkan bersama vim
(lihat detail untuk di :h less
dalamnya vim
):
Di sistem saya:
sh /usr/share/vim/vim74/macros/less.sh your-file
Atau Anda bisa menggunakan salah satu highlighter sintaks yang mendukung output dan penggunaan HTML elinks
atau w3m
sebagai pager (atau elinks -dump -dump-color-mode 3 | less -R
) seperti dengan GNUsource-highlight
:
source-highlight -o STDOUT -i your-file | elinks -dump -dump-color-mode 3 | less -R
Saya menggunakan GNU
source-highlight
dikombinasikan denganless -R
ini. Tambahkan baris berikut ke file inisialisasi shell Anda (~/.bashrc
, misalnya):Itu harus secara otomatis kode sumber warna sesuai dengan bahasa yang digunakan dan, jika tidak bisa, itu akan diluncurkan
less
pada inputnya secara langsung.sumber
Jika Anda tertarik pada warna secara
less
lebih umum, Anda mungkin ingin melihatnyalesspipe.sh
. Lihat, misalnya, http://freecode.com/projects/lesspipe .Ini juga akan mewarnai skrip shell, perl skrip, dll. Mirip dengan editor teks, tetapi tanpa menggunakan program "preprocessing" untuk melakukan pewarnaan.
sumber
lesspipe.sh
adalah apa yang saya coba ingat sebelum saya memposting pertanyaan ...Saya menikmati kesederhanaan dan saya menggunakan editor teks nano, dalam hal ini saya biasanya melanjutkan sebagai berikut:
periksa sorot sintaks penyihir tersedia:
ls -la /usr/share/nano/
memasukkannya ke file nanorc saya dengan perintah berikut, atau dengan melakukannya secara manual
tentang
less
saya sarankan untuk melihat halaman inisumber
Menurut saran Stéphane Chazelas , saya membuat fungsi bash untuk menggunakan
highlight
highlight acara Sintaks, memasukkannya ke .bashrc atau lebih. Ini bekerja dengan sangat baik, cepat dan efektif.sorot dukungan format 202 bahasa sintaks . lihat
highlight --list-scripts=langs
.sumber
Anda dapat menggunakan paket, e2ansi , yang menyediakan dukungan penyorotan sintaks untuk pager seperti
more
danless
.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
dane2ansi
: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):Dalam konfigurasi di atas,
less
pulihkan konten jendela terminal yang asli sementaramore
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 sederhanaLESSOPEN=|/usr/local/emacs ...
.Menggunakan
less
pipaKarakter "-" di
LESSOPEN
menunjukkan bahwa filter input juga harus digunakan saat memipis teks keless
. 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 disediakane2ansi-magic.el
mengatur jenis file tambahan. Sebagai contoh:Mengapa menggunakan Emacs?
e2ansi
, warna dalam tema dipertahankan saat melihat fileless
. Anda dapat memilih tema warna yang sesuai dari sejumlah sumber, atau merancang sendiri.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./USER@HOST:FILENAME
.Tautan yang bermanfaat
e2ansi
didistribusikan di Melpa dan dapat diinstal menggunakan sistem paket Emacs standare2ansi
di-host di GitHube2ansi
halaman di Emacs Wikiless
.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 kontemporerless
untuk MS Windows dan file build yang disediakan sulit digunakan. Untungnya, mudah dibuatless
menggunakan CMake , lihat teks ini untuk detailnya.OS X mendistribusikan versi kuno
less
. Untungnya, mudah untuk membangun versi modern langsung dari sumbernya.sumber
Ini disebut penyorotan sintaksis.
Sorotan Sumber GNU ketika diberi file sumber, menghasilkan dokumen dengan penyorotan sintaksis.
Saya menggunakan
lessfilter
skrip di bawah ini, atau Anda dapatless
memintanya secara otomatis seperti dengan:Saya menemukan artikel ini dan mulai melakukannya dengan cara ini:
(
src-hilite-lesspipe.sh
dikirimkan bersamasource-highlight
tetapi tidak semua distribusi menyertakannya)sumber
export
mendefinisikan variabel lingkungan, bukan alias. The perintahless
menggunakan bendera dari variabel lingkunganLESS
, sehingga jawaban Anda membutuhkan pekerjaan.