Judul pertanyaan ini sangat menyesatkan. Banyak orang mendarat di halaman ini mengharapkan solusi untuk pewarnaan masalah yang Anda akan dapatkan ketika pipa perintah dengan output berwarna ke less: warna hilang. (Jawaban untuk "masalah perpipaan" melibatkan less -R, unbufferdll.) Tapi pertanyaan sebenarnya mengacu pada membuka file ! - Ambiguitas terutama terletak pada judul pertanyaan, tetapi bahkan di samping itu, pertanyaan IMHO masih terlalu luas: "baca file" bisa merujuk ke file apa pun (mungkin teks biasa). (well, "dapatkan konten dalam warna" mungkin merujuk pada penyorotan sintaks.)
myrdd
Saya perlu mengoreksi diri saya sendiri, hanya 3 (atau 4) dari 14 jawaban yang hilang dari pertanyaan aktual OP: jawaban oleh ChristopheD , Puneet dan Onlyjob ; dan mungkin jbbr . Namun, dua dari jawaban itu adalah bagian dari tiga jawaban tertinggi.
myrdd
@myrdd "highlight sintaks" adalah istilah yang relevan kemudian ... (Ia menanyakan tentang menunjukkan warna, bukan menambahkan warna?) less -Rakan bekerja pada file juga, misalnyals --color=always > /tmp/file && less -R /tmp/file
Gert van den Berg
1
@ myrdd Mungkin akan lebih masuk akal jika pertanyaan ditutup sebagai "tidak jelas apa yang ditanyakan" karena pertanyaan yang diajukan salah satu dari keduanya kemungkinan akan ditandai sebagai duplikat dari ini ... (Dan jawaban untuk salah satu dari keduanya dapat dibatalkan suaranya) berdasarkan bagaimana pemilih mengartikannya ...) (Kasus penggunaan saya adalah file log yang (secara mengganggu) memiliki kode pelarian warna di dalamnya)
Gert van den Berg
Jawaban:
149
Anda dapat memanfaatkan kekuatan pyratingize dengan kurang - secara otomatis! (Tidak perlu pipa dengan tangan.)
Instal pygmentsdengan manajer paket Anda atau pip (mungkin disebut python-pygments) atau dapatkan di sini http://pygments.org/download/ .
Tulis file ~/.lessfilter
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1";;
*)
if grep -q "#\!/bin/bash" "$1" 2> /dev/null; then
pygmentize -f 256 -l sh "$1"
else
exit 1
fi
esac
exit 0
Anda juga perlu membuat ~/.lessfilterexecutable dengan menjalankan
chmod u+x ~/.lessfilter
Diuji pada Debian.
Anda mendapatkan idenya. Ini tentu saja dapat ditingkatkan lebih lanjut, menerima lebih banyak ekstensi atau mengurai shebang untuk penerjemah lain daripada bash. Lihat beberapa jawaban lain untuk itu.
Idenya datang dari posting blog lama dari pembuat Pygments , tetapi posting asli tidak ada lagi.
Jika Anda ingin mewarnai file kode sumber, Anda juga perlu membuat ~ / .lessfilter dapat dijalankan dengan menjalankan chmod u+x ~/.lessfilter. Anda juga perlu menginstal pygmentize ( pygments.org/download ).
Sergiy Belozorov
Adakah yang bisa mengkonfirmasi bahwa ini berfungsi karena tidak berpengaruh bagi saya ketika saya menjalankan perintah sepertils -l | less
puk
7
@ puk Anda dapat melakukan sesuatu seperti ls --color=always -l | less -R. Jelas banyak mengetik tetapi Anda bisa alias untuk sesuatu seperti ll. Itu jika Anda tidak ingin menggunakan perpustakaan tambahan.
PhilT
2
menambahkan komentar @ SergiyByelozyorov ke dalam jawabannya.
andrybak
2
Hasil edit saya ditolak jadi saya kira saya akan mempostingnya sebagai komentar: Jangan menguji kode keluar dari perintah secara tidak langsung. Anda dapat menggunakan if grep -q "#\!/bin/bash" "$1"( -qmenekan output standar). Anda mungkin ingin mengarahkan kesalahan standar dengan 2>/dev/null.
Tom Fenech
503
Coba yang berikut ini:
less -R
dari man less:
-r atau --raw-control-chars
Menyebabkan karakter kontrol "mentah" ditampilkan. (...)
-R atau --RAW-CONTROL-CHARS
Seperti -r, tetapi hanya urutan pelarian "warna" ANSI yang dihasilkan dalam bentuk "mentah". (...)
Ini berguna ketika file itu sendiri berisi kode pelarian yang perlu ditampilkan.
Nitrodist
1
Saya dulu tahu tentang -r tetapi mencari dalam file menggunakan "/" terus memunculkan baris yang salah. -R tampaknya melakukan pekerjaan yang lebih baik. Terima kasih atas tipnya.
Amos Shapira
54
Perlu dicatat bahwa sebagian besar program menggunakan isatty(2)syscall untuk memeriksa apakah output standar mereka adalah terminal, dan biasanya menonaktifkan output berwarna jika tidak. Untuk setiap pipa menjadi kurang, isattyakan mengembalikan 0. Untuk memeriksa apakah ini berhasil, cobaecho -e '\x1b[32;1mtest\x1b[m' | less -r
mic_e
11
Jawaban ini tidak unggul dalam benar-benar melakukan tes sesuatu.
Michael Wolf
18
Anda juga dapat mengetik -Rketika Anda sudah membuka lessuntuk mencapai ini.
Ketika Anda menjalankannya, grep --coloritu tersirat grep --color=autoyang mendeteksi apakah output adalah terminal dan jika demikian memungkinkan warna. Namun, ketika mendeteksi sebuah pipa, ia menonaktifkan pewarnaan. Perintah berikut:
grep --color=always "search string" * | less -R
Akan selalu mengaktifkan pewarnaan dan menimpa deteksi otomatis, dan Anda akan mendapatkan sorotan warna dalam waktu kurang.
Peringatan: Jangan dimasukkan --color=alwayssebagai alias, terkadang hal itu rusak. Itu sebabnya ada --color=autopilihan.
Terima kasih banyak. Kecuali bahwa saya perlu menggunakan -Rsebagai opsi untuk less, juga.
naught101
10
Saya percaya grep -Rini untuk menentukan pencarian rekursif. less -Rdiperlukan untuk lessmemuntahkan kembali warna dengan benar. grep --color=always [grep cmds] | less -Rbekerja untuk saya di OS X 10.7.3!
Steven Lu
@ naught101 @Steven Lu Diedit, walaupun tampaknya beberapa orang mungkin tidak perlu menggunakan less -R(menurut penulis posting asli, sih).
jtpereyda
2
Apakah ada cara untuk memberi tahu grep tentang hanya sedikit perintah -R dan kemudian hanya mewarnai? Jadi, kita tidak harus meletakkan --color = selalu dan kurang -R sepanjang waktu.
A-letubby
1
Sejauh ini, inilah jawaban yang paling sederhana. Terima kasih!
Danny Staple
37
Gunakan viewsebagai ganti less. Ini membuka file dengan vimmode readonly.
Ini praktis berwarna less: pager di mana Anda dapat mencari dengan /(dan banyak lagi). Satu-satunya kelemahan adalah bahwa Anda tidak dapat keluar qtetapi Anda perlu:q
Juga, Anda mendapatkan pewarnaan yang sama dengan vim(karena Anda sebenarnya menggunakan vim).
Bagaimana dengan kinerja file besar? Menyoroti sintaks Vim diketahui lambat pada file besar.
pihentagy
Saya tidak tahu apa nilai Anda untuk 'besar', tetapi membuka file ~ 10.000 baris adalah instan, termasuk pencarian di dalamnya.
Riccardo Galli
1
Saya terbalik (saya tidak tahu tentang view) tetapi downside lain adalah bahwa j / k / atas / bawah tidak langsung menggulir, karena ada kursor.
Tyler Collier
7
Perhatikan bahwa Anda mungkin perlu menambahkan view -ketika pemipaan
user45909
6
vimadalah editor, yang memuat file lengkap ke dalam memori, sedangkan lesspager, memuat file hanya sebagian ke dalam memori. Anda akan tahu bedanya dengan file besar.
sjas
16
Untuk memberi tahu lebih sedikit untuk menunjukkan warna, panggil dengan -R:
less -R
Sayangnya beberapa program mendeteksi bahwa stdout mereka bukan terminal dan menonaktifkan warna - misalnya pacman (manajer paket Arch Linux).
Dalam kasus-kasus itu dimungkinkan untuk digunakan unbuffer:
unbuffer <command> | less -R
Contoh menggunakan pacman
unbuffer pacman -Ss firefox | less -R
The unbufferPerintah biasanya bagian dari paket expect(Arch Linux, Debian / Ubuntu) atau expect-dev(versi warisan Debian / Ubuntu).
Untuk menjawab pertanyaan tentang kelengkapan:
Seperti yang sudah dijawab orang lain, pygmentizesangat bagus untuk mewarnai kode sumber. Itu tidak membutuhkan unbuffer. Panggilan termudah:
Untuk digunakan unbufferdi Ubuntu,sudo apt install expect
wisbucky
Jawaban ini membutuhkan lebih banyak upvotes.
Thomas Dignan
Saya mencoba untuk mem-pipe output dmesg untuk memeriksa kesalahan boot tetapi warnanya tidak bekerja kecuali saya menggunakan unbuffer, yang membingungkan saya: unbuffer dmesg | less -Rberfungsi seperti yang diharapkan.
pbhj
15
pygmentizemendukung -gopsi untuk secara otomatis menebak lexer yang akan digunakan yang berguna untuk membaca file STDINtanpa memeriksa jenis ekstensi apa pun.
Dengan menggunakan itu, Anda hanya perlu menetapkan 2 ekspor berikut di Anda .bashrctanpa skrip tambahan:
Ringkas dan efektif. Saya lebih suka mendefinisikan alias, karena terkadang lebih sedikit lebih baik. Jadi: alias lesc 'LESS = "- R" LESSOPEN = "| pygmentize -g% s" less'
Tiago
9
Anda tidak mengatakan apa arti warna ini, misalnya apa warna untuk file teks?
Jika yang Anda inginkan adalah penyorotan sintaksis untuk kode sumber, Anda memerlukan penyorot kode sumber. Saya kadang-kadang menggunakan pyrativeize seperti ini
pygmentize file.cpp | less
atau
pygmentize file.cpp | more
Ada beberapa highlighters di sekitar.
Ini cukup cepat. Jika Anda tidak keberatan menjalankannya, vimada mode hanya baca yang dapat memberi Anda sorotan sintaks jika Anda memilikinya vim.
Jika Anda tidak melihat salah satu program direferensikan di sana, pastikan lesspipesudah terpasang (sebagian besar distro menyertainya).
Tambahkan yang berikut ke ~/.bashrc:
# sets LESSOPEN and LESSCLOSE variableseval"$(SHELL=/bin/sh lesspipe)"# interpret color characters
export LESS='-R'# to list available styles: `pygmentize -L styles`
export PYGMENTIZE_STYLE='paraiso-dark'# optional
alias ls='ls --color=always'
alias grep='grep --color=always'
Jika Anda tidak mau lesspipe, ganti evalpernyataan itu dengan:
export LESSOPEN='|~/.lessfilter %s'
Membuat ~/.lessfilter
Tambahkan kode berikut dan buat file tersebut dapat dieksekusi: chmod u+x ~/.lessfilter
Satu kelemahan tentang pendekatan ini adalah bahwa Pygments adalah program Python, dan seterusnya digunakan pertama kali selama sesi shell, ada penundaan "cold start". Doa selanjutnya jauh lebih cepat.
Joe Coder
Bagus! Sangat komprehensif.
Dario Seidl
4
Gunakan GNU Source-highlight ; Anda dapat menginstalnya aptjika Anda memilikinya, atau menginstalnya dari sumber. Kemudian siapkan "input preprocessor" dengan harga lebih murah, dengan bantuan dari dokumentasi Source-highligh untuk menyiapkan lebih sedikit :
Ini disarankan oleh Konstantine Serebriany. Script src-hilite-lesspipe.sh akan diinstal bersama dengan source-highlight. Anda dapat menggunakan variabel lingkungan berikut:
Dengan cara ini, ketika Anda menggunakan lebih sedikit untuk menelusuri file, jika itu adalah file sumber yang ditangani oleh sumber-highlight, itu akan secara otomatis disorot.
Xavier-Emmanuel Vincent baru-baru ini menyediakan versi alternatif skema warna ANSI, esc256.style: beberapa terminal dapat menangani 256 warna. Xavier juga menyediakan skrip yang memeriksa berapa banyak warna yang bisa ditangani oleh terminal Anda, dan jika-kalau, menggunakan varian 256. Script disebut source-highlight-esc.sh dan akan diinstal bersama dengan binari lainnya.
Untuk memperluas jawaban lain, Anda dapat membuatnya berfungsi untuk sebagian besar, jika tidak semua skrip Anda yang tidak memiliki ekstensi dengan mengubah file .lessfilter sekitar hanya sedikit:
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1"
;;
*)
scriptExec=$(head -1 "$1" |grep "^#\!" |awk -F" " '{print $1}')
scriptExecStatus=$?
if [ "$scriptExecStatus" -eq "0" ]; then
lexer=$(echo $scriptExec |awk -F/ '{print $NF}')
pygmentize -f 256 -l $lexer "$1"
else
exit 1
fi
esac
exit 0
Anda masih perlu menambahkan dua variabel ke .bashrc:
Dan Anda masih perlu membuat .lessfilter dapat dieksekusi:
$ chmod 700 ~/.lessfilter
Saya juga ingin menambahkan bahwa di bawah debian paket pygments disebut python-pygments. Awalnya saya kesulitan menemukannya karena salah mengeja "pigmen" sebagai "pigmen" tidak cukup bagi saya bahwa itu adalah paket yang mungkin diawali dengan "python-" oleh manajer paket.
2 komentar: 1) Terima kasih atas perbaikannya. 2) Frasa seperti "jawaban terbaik terpilih" tidak bagus; yang mungkin berubah (pada kenyataannya, jika ini lebih baik dari jawaban itu, pos ini mungkin menjadi jawaban teratas, pada titik itu hanya akan membingungkan. Mungkin hanya mengatakan "untuk memperluas jawaban lain" atau "jawaban kapten komunikasi"?
cpast
2
Anda dapat mempertimbangkan menggunakan mostutilitas yang merupakan alternatif ramah warna untuk lessdan more.
dapatkah Anda tunjukkan satu contoh kepada kami? Saya mencoba di sini, dan hasilnya adalah hitam dan putih.
danilo
Input Anda harus mengandung warna. Pertama menghasilkan sampel colorised (misalnya ccze -A </var/log/dpkg.log, ls -1 --color /var/log) maka pipa ke most: ls -1 --color /var/log | most.
Onlyjob
ya, saya menggunakan: git status | less --color,git status | most --color
danilo
Saya menggunakan sebagian besar, lebih banyak, lebih sedikit, dan semua alat menunjukkan hitam dan putih
danilo
Pastikan bahwa perintah Anda menghasilkan warna sebelum dikirim ke lessatau orang lain. Pastikan emulator terminal Anda dapat menampilkan warna. Periksa TERMvariabel lingkungan. Baca lebih lanjut di unix.stackexchange.com/questions/148/… Bila memungkinkan gunakan distribusi GNU + Linux modern seperti Debian . Gunakan mesin pencari (misalnya duckduckgo.com startpage.com ) untuk menemukan jawaban. Ingat bahwa komentar bukan untuk diskusi.
Saya menemukan solusi elegan sederhana ini. Anda tidak perlu menginstal tambahan apa pun karena sudah ada secara default di sebagian besar mesin. Seperti vimyang diinstal secara default pada kebanyakan mesin, itu termasuk makro untuk dijalankan vimsepertiless
Beberapa opsi untuk menggunakannya adalah membuat alias:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
atau buat tautan simbolis:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
Saya miliki alias lesser='/usr/share/vim/vim80/macros/less.sh'di ~/bash_aliases(di Ubuntu 18.04). Dapat menggunakan pintasan seperti f maju, b mundur, d setengah turun, u setengah atas, q keluar, dll ...
Daniel
0
Solusi yang paling intuitif dan lurus untuk saya gunakan pygmentize
dengan menambahkan baris di bawah ini ke .bashrc
less
: warna hilang. (Jawaban untuk "masalah perpipaan" melibatkanless -R
,unbuffer
dll.) Tapi pertanyaan sebenarnya mengacu pada membuka file ! - Ambiguitas terutama terletak pada judul pertanyaan, tetapi bahkan di samping itu, pertanyaan IMHO masih terlalu luas: "baca file" bisa merujuk ke file apa pun (mungkin teks biasa). (well, "dapatkan konten dalam warna" mungkin merujuk pada penyorotan sintaks.)less -R
akan bekerja pada file juga, misalnyals --color=always > /tmp/file && less -R /tmp/file
Jawaban:
Anda dapat memanfaatkan kekuatan pyratingize dengan kurang - secara otomatis! (Tidak perlu pipa dengan tangan.)
Instal
pygments
dengan manajer paket Anda atau pip (mungkin disebutpython-pygments
) atau dapatkan di sini http://pygments.org/download/ .Tulis file
~/.lessfilter
Di
.bashrc
add AndaAnda juga perlu membuat
~/.lessfilter
executable dengan menjalankanDiuji pada Debian.
Anda mendapatkan idenya. Ini tentu saja dapat ditingkatkan lebih lanjut, menerima lebih banyak ekstensi atau mengurai shebang untuk penerjemah lain daripada bash. Lihat beberapa jawaban lain untuk itu.
Idenya datang dari posting blog lama dari pembuat Pygments , tetapi posting asli tidak ada lagi.
sumber
chmod u+x ~/.lessfilter
. Anda juga perlu menginstal pygmentize ( pygments.org/download ).ls -l | less
ls --color=always -l | less -R
. Jelas banyak mengetik tetapi Anda bisa alias untuk sesuatu sepertill
. Itu jika Anda tidak ingin menggunakan perpustakaan tambahan.if grep -q "#\!/bin/bash" "$1"
(-q
menekan output standar). Anda mungkin ingin mengarahkan kesalahan standar dengan2>/dev/null
.Coba yang berikut ini:
dari
man less
:sumber
isatty(2)
syscall untuk memeriksa apakah output standar mereka adalah terminal, dan biasanya menonaktifkan output berwarna jika tidak. Untuk setiap pipa menjadi kurang,isatty
akan mengembalikan 0. Untuk memeriksa apakah ini berhasil, cobaecho -e '\x1b[32;1mtest\x1b[m' | less -r
-R
ketika Anda sudah membukaless
untuk mencapai ini.Saya mendapat jawaban di posting lain: Less and Grep: Mendapatkan hasil berwarna saat menggunakan pipa dari grep menjadi kurang
Peringatan: Jangan dimasukkan
--color=always
sebagai alias, terkadang hal itu rusak. Itu sebabnya ada--color=auto
pilihan.sumber
-R
sebagai opsi untukless
, juga.grep -R
ini untuk menentukan pencarian rekursif.less -R
diperlukan untukless
memuntahkan kembali warna dengan benar.grep --color=always [grep cmds] | less -R
bekerja untuk saya di OS X 10.7.3!less -R
(menurut penulis posting asli, sih).Gunakan
view
sebagai gantiless
. Ini membuka file denganvim
mode readonly.Ini praktis berwarna
less
: pager di mana Anda dapat mencari dengan /(dan banyak lagi). Satu-satunya kelemahan adalah bahwa Anda tidak dapat keluar qtetapi Anda perlu:q
Juga, Anda mendapatkan pewarnaan yang sama dengan
vim
(karena Anda sebenarnya menggunakanvim
).sumber
view
) tetapi downside lain adalah bahwa j / k / atas / bawah tidak langsung menggulir, karena ada kursor.view -
ketika pemipaanvim
adalah editor, yang memuat file lengkap ke dalam memori, sedangkanless
pager, memuat file hanya sebagian ke dalam memori. Anda akan tahu bedanya dengan file besar.Untuk memberi tahu lebih sedikit untuk menunjukkan warna, panggil dengan -R:
Sayangnya beberapa program mendeteksi bahwa stdout mereka bukan terminal dan menonaktifkan warna - misalnya pacman (manajer paket Arch Linux).
Dalam kasus-kasus itu dimungkinkan untuk digunakan
unbuffer
:Contoh menggunakan pacman
The
unbuffer
Perintah biasanya bagian dari paketexpect
(Arch Linux, Debian / Ubuntu) atauexpect-dev
(versi warisan Debian / Ubuntu).Untuk menjawab pertanyaan tentang kelengkapan:
Seperti yang sudah dijawab orang lain,
pygmentize
sangat bagus untuk mewarnai kode sumber. Itu tidak membutuhkanunbuffer
. Panggilan termudah:sumber
unbuffer
di Ubuntu,sudo apt install expect
unbuffer dmesg | less -R
berfungsi seperti yang diharapkan.pygmentize
mendukung-g
opsi untuk secara otomatis menebak lexer yang akan digunakan yang berguna untuk membaca fileSTDIN
tanpa memeriksa jenis ekstensi apa pun.Dengan menggunakan itu, Anda hanya perlu menetapkan 2 ekspor berikut di Anda
.bashrc
tanpa skrip tambahan:sumber
Anda tidak mengatakan apa arti warna ini, misalnya apa warna untuk file teks?
Jika yang Anda inginkan adalah penyorotan sintaksis untuk kode sumber, Anda memerlukan penyorot kode sumber. Saya kadang-kadang menggunakan pyrativeize seperti ini
atau
Ada beberapa highlighters di sekitar.
Ini cukup cepat. Jika Anda tidak keberatan menjalankannya,
vim
ada mode hanya baca yang dapat memberi Anda sorotan sintaks jika Anda memilikinyavim
.atau alternatifnya lihat jawaban churnd.
sumber
Ini adalah jawaban lain yang berbasis pygments , dengan beberapa peningkatan besar:
lesspipe
ataulessfile
filterless
Instal Pygments dan Gawk
Setel Variabel Lingkungan
Periksa apakah
lesspipe
ataulessfile
sudah diaktifkan:Jika Anda tidak melihat salah satu program direferensikan di sana, pastikan
lesspipe
sudah terpasang (sebagian besar distro menyertainya).Tambahkan yang berikut ke
~/.bashrc
:Jika Anda tidak mau
lesspipe
, gantieval
pernyataan itu dengan:Membuat
~/.lessfilter
Tambahkan kode berikut dan buat file tersebut dapat dieksekusi:
chmod u+x ~/.lessfilter
sumber
Gunakan GNU Source-highlight ; Anda dapat menginstalnya
apt
jika Anda memilikinya, atau menginstalnya dari sumber. Kemudian siapkan "input preprocessor" dengan harga lebih murah, dengan bantuan dari dokumentasi Source-highligh untuk menyiapkan lebih sedikit :sumber
Untuk memperluas jawaban lain, Anda dapat membuatnya berfungsi untuk sebagian besar, jika tidak semua skrip Anda yang tidak memiliki ekstensi dengan mengubah file .lessfilter sekitar hanya sedikit:
Anda masih perlu menambahkan dua variabel ke .bashrc:
Dan Anda masih perlu membuat .lessfilter dapat dieksekusi:
Saya juga ingin menambahkan bahwa di bawah debian paket pygments disebut python-pygments. Awalnya saya kesulitan menemukannya karena salah mengeja "pigmen" sebagai "pigmen" tidak cukup bagi saya bahwa itu adalah paket yang mungkin diawali dengan "python-" oleh manajer paket.
sumber
Anda dapat mempertimbangkan menggunakan
most
utilitas yang merupakan alternatif ramah warna untukless
danmore
.sumber
ccze -A </var/log/dpkg.log
,ls -1 --color /var/log
) maka pipa kemost
:ls -1 --color /var/log | most
.git status | less --color
,git status | most --color
less
atau orang lain. Pastikan emulator terminal Anda dapat menampilkan warna. PeriksaTERM
variabel lingkungan. Baca lebih lanjut di unix.stackexchange.com/questions/148/… Bila memungkinkan gunakan distribusi GNU + Linux modern seperti Debian . Gunakan mesin pencari (misalnya duckduckgo.com startpage.com ) untuk menemukan jawaban. Ingat bahwa komentar bukan untuk diskusi.Ringkas dari posting blog lengkap saya tentang meningkatkan pengalaman yang lebih sedikit: https://www.topbug.net/blog/2016/09/27/make-gnu-less-more-powerful/
Untuk manual berwarna-warni, tambahkan yang berikut ke Anda
.bashrc
atau.zshrc
:Untuk penyorotan sintaksis, gunakan kuasa yang ada
lesspipe.sh
untuk menanganinya alih-alih menulis sendiri: https://github.com/wofr06/lesspipesumber
Saya menemukan solusi elegan sederhana ini. Anda tidak perlu menginstal tambahan apa pun karena sudah ada secara default di sebagian besar mesin. Seperti
vim
yang diinstal secara default pada kebanyakan mesin, itu termasuk makro untuk dijalankanvim
sepertiless
Beberapa opsi untuk menggunakannya adalah membuat alias:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
atau buat tautan simbolis:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
Maka Anda hanya lari
vless myfile.py
Saya mendapat sebagian besar informasi di sini
sumber
alias lesser='/usr/share/vim/vim80/macros/less.sh'
di~/bash_aliases
(di Ubuntu 18.04). Dapat menggunakan pintasan seperti f maju, b mundur, d setengah turun, u setengah atas, q keluar, dll ...Solusi yang paling intuitif dan lurus untuk saya gunakan
pygmentize
dengan menambahkan baris di bawah ini ke .bashrc
Jika Anda tidak dapat menelepon
pygmentize
, cukup instal likeps. The
pygmentize
biner executable akan duduk di/usr/local/bin/
atau di Anda/home/username/.virtualenv/venvname/bin/
atau di suatu tempat.sumber
Tidak ada yang berhasil di luar kotak untuk saya dan saya menemukan cara mudah untuk membuat pekerjaan ini jadi saya pikir saya akan berbagi.
Cukup gunakan tmux, yang memungkinkan Anda mengakses dan menggulir melalui sejarah yang lebih besar dan mempertahankan warna dengan sempurna.
sumber
Selama teks keluaran memiliki karakter kontrol warna,
less -R
akan dilakukan.sumber