Lincah. Output warna disalurkan menjadi lebih sedikit


35

Sistem operasi: Mac OS 10.6.2

Saya ingin dapat melihat keluaran warna saat memipakan perintah tertentu melalui lebih sedikit.

Dua contoh:

Saya punya alias ls --color=auto, jadi saya ingin dapat melihat warna ketika saya melakukan ini:

ls -l | less

Saya juga mengaktifkan ekstensi warna di Mercurial, jadi saya ingin melihat keluaran warna dari:

hg diff | less

dan

hg st | less

Setelah beberapa googling, sepertinya beberapa versi yang kurang mendukung -r atau -R untuk membuat ini berfungsi, tetapi tidak ada dadu untuk saya. Saya tidak dapat melihat apa pun di halaman manual yang terlihat seperti yang saya butuhkan. (-r atau -R TAMPAKKAN menjadi opsi yang tepat, tetapi sekali lagi, tampaknya tidak berfungsi)


1
Sepertinya ekstensi warna selalu dinonaktifkan ketika disalurkan. Coba perintah ini untuk melihat apa yang saya maksud: ls --color=always | ls -Rdanhg diff --config color.mode=ansi | less -R
Harvey

Jawaban:


30

Untuk lincah, Anda harus menggunakan ekstensi pager daripada pemipaan secara eksplisit menjadi kurang. Ini akan bermain dengan baik dengan opsi keluaran berwarna dari perintah hg lainnya.


13

Saya percaya Anda harus menggunakan --color=alwaysuntuk lsjika Anda ingin lakukan warna bahkan ketika tidak akan stdout. Kemudian gunakan -rpada lessperintah

ls --color=always -l | less -r

12

Dalam ~ / .hgrc Anda, cantumkan:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog

Mengapa quiet = Truebagian?
einpoklum - mengembalikan Monica

Bagus! Saya sarankan LESS='eiFRSXQ'untuk juga berhenti setelah mencapai EOF dan mengabaikan kasus selama pencarian
sebastian

11

Melakukan:

$ hg diff --color always | less -R

Saya akan alias "kurang -R" menjadi kurang. Saya tidak yakin apakah ada cara untuk memberikan pilihan default untuk perintah lincah sehingga Anda tidak harus ingat untuk mengetik --color alwaysuntuk hg diffsepanjang waktu.


1
Atau gunakan $ hg diff --color always | less -FRSXQuntuk opsi yang lebih sedikit lebih baik. Ini akan diam-diam berhenti jika diff cocok dengan layar, misalnya.
jpbochi

1
Anda dapat mengatur KURANG = "- R" sebagai alternatif untuk alias "kurang" itu sendiri.
blueyed

-Fadalah untuk terus membaca file saat ini sedang diproduksi, -Stidak untuk membungkus baris, -Xsesuatu yang tidak jelas, -Qmenghindari dering bel terminal.
Evgeni Sergeev


0

ls --color=autoberarti Anda mendapatkan keluaran warna saat tidak disalurkan ke sesuatu. Coba ls --colour=auto | catdan Anda akan melihat apa yang saya maksud.

Saya berharap hg membuat asumsi serupa.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.