Pertanyaan Bagaimana cara mendapatkan halaman man warna di bawah shell ikan?


Sepertinya ada cara untuk membuat halaman man untuk menampilkan warna (lihat sini. Ini melibatkan pengaturan variabel lingkungan yang terkait dengan kurang dan menambahkan definisi ini .bashrc. Saya mencoba melakukan hal yang sama config.fish untuk cangkang ikan, tetapi tidak mendapat output warna.

Bagaimana cara mendapatkan halaman man warna dalam cangkang ikan?


10
2017-09-11 01:54


asal


fishshell.com/docs/current/faq.html - Panther
kemungkinan duplikat dari Bagaimana cara menambahkan ekspor ke ikan seperti di .bashrc? - Panther
@ bodhi.zazen Fish menggunakan perintah yang disetel alih-alih mengekspor. Itu tidak membuat halaman man berwarna. Oleh karena itu pertanyaan saya di atas :-) - Ashwin Nanjappa
Anda harus "mengatur" variabel-variabel tersebut (dari wiki lengkung) untuk kurang atau (lagi dari lengkungan wiki) paling banyak. - Panther
@ bodhi.zazen Ya. Saya telah melakukan itu. Tidak ada warna di halaman manual :-( - Ashwin Nanjappa


Jawaban:


Anda dapat mengatur konfigurasi dengan perintah berikut,

set -x LESS_TERMCAP_mb (printf "\033[01;31m")  
set -x LESS_TERMCAP_md (printf "\033[01;31m")  
set -x LESS_TERMCAP_me (printf "\033[0m")  
set -x LESS_TERMCAP_se (printf "\033[0m")  
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")  
set -x LESS_TERMCAP_ue (printf "\033[0m")  
set -x LESS_TERMCAP_us (printf "\033[01;32m")  

5
2017-07-19 13:37



Itu berhasil! Terima kasih :-) - Ashwin Nanjappa


Jika Anda ingin warna-warna ini ditambahkan hanya ketika melihat halaman manual, bukan untuk semua yang Anda lihat less, Anda harus mengatur variabel-variabel ini dalam fungsi pembungkus untuk man alih-alih menempatkannya di Anda config.fish.

Seluruh prosesnya adalah membuat file baru di ~/.config/fish/functions/man.fish, dan di dalamnya mendefinisikan fungsi man yang menetapkan variabel lingkungan yang diperlukan, kemudian memanggil yang asli man menggunakan command, lewat dalam argumen menggunakan $argv.

Ini adalah versi saya dari fungsi pembungkus:

~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
  # based on this group of settings and explanation for them:
  # http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
  # converted to Fish shell syntax thanks to this page:
  # http://askubuntu.com/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192

  # start of bold:
  set -x LESS_TERMCAP_md (set_color --bold red)
  # end of all formatting:
  set -x LESS_TERMCAP_me (set_color normal)

  # start of standout (inverted colors):
  #set -x LESS_TERMCAP_so (set_color --reverse)
  # end of standout (inverted colors):
  #set -x LESS_TERMCAP_se (set_color normal)
  # (no change – I like the default)

  # start of underline:
  #set -x LESS_TERMCAP_us (set_color --underline)
  # end of underline:
  #set -x LESS_TERMCAP_ue (set_color normal)
  # (no change – I like the default)

  command man $argv
end

5
2017-08-17 03:28



Keren terima kasih! Dan untuk mendapatkan lebih banyak amis Anda dapat menggunakan set_color perintah. misalnya.: set -x LESS_TERMCAP_md (set_color -o red), set -x LESS_TERMCAP_me (set_color normal) - Ludachrispeed


Dengan asumsi Anda menggunakan lebih sedikit sebagai pager Anda, masukkan ini ~/.config/fish/config.fish:

set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")

Jika kamu melihat \e[0m dll muncul ketika Anda melihat halaman manual, coba tambahkan baris ini juga:

set -x LESS "-R"

3
2017-10-28 09:05



Tidak berfungsi. Saya melihat \ e [01 string ketika saya melakukan "man ls". - Ashwin Nanjappa
Aneh, saya percaya ini langsung dari file konfigurasi saya. Saya belum benar-benar mencobanya di Ubuntu, karena saya menjalankan distro yang berbeda sendiri. Mungkin Anda bisa mencoba menambahkan set -x LESS="-R" sampai akhir konfigurasi Anda? - bobbaluba
Menambahkan itu tidak membantu. Masih melihat yang sama \ e [01 string dalam manpage. - Ashwin Nanjappa


Itu mungkin untuk digunakan set_color bukannya urutan ANSI langsung. Bahkan, ini memungkinkan Anda untuk menggunakan warna apa pun yang Anda inginkan, dengan menggunakan escape heksadesimal warna 24-bit, seperti (set_color FF55AA).

set -x LESS_TERMCAP_mb (set_color brred)
set -x LESS_TERMCAP_md (set_color brred)
set -x LESS_TERMCAP_me (set_color normal)
set -x LESS_TERMCAP_se (set_color normal)
set -x LESS_TERMCAP_so (set_color -b blue bryellow)
set -x LESS_TERMCAP_ue (set_color normal)
set -x LESS_TERMCAP_us (set_color brgreen)

0
2018-06-14 13:08