Як отримати кольорові сторінки людини під шкаралупою риби?


12

Здається, є спосіб відобразити довідкові сторінки кольоровим кольором (див. Тут . Це передбачає встановлення змінних оточуючих середовищ, пов'язаних з меншим, і додавання цих визначень до .bashrc. Я намагався зробити те саме в config.fishрибній оболонці, але не отримав жодного кольору.

Як отримати кольорові сторінки людини в шкаралупі риби?




@ bodhi.zazen Fish використовує команду set замість експорту. Це не призвело до того, що сторінки людини не відображаються кольорово. Звідси моє запитання вище :-)
Ешвін Нанджаппа,

ви повинні "встановити" ці змінні (з арки wiki) менше або (знову ж із арки wiki) найбільше.
Пантера

@ bodhi.zazen Так. Я це зробив. На сторінках чоловіка немає кольору :-(
Ashwin Nanjappa,

Відповіді:


6

Ви можете встановити конфігурацію за допомогою наступних команд,

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")  

7

Якщо ви хочете, щоб ці кольори були додані лише під час перегляду підручних сторінок, а не для всього, що ви переглядаєте less, вам слід встановити ці змінні у функції обгортки manзамість того, щоб розміщувати їх у своїх config.fish.

Весь процес полягає у створенні нового файлу в ~/.config/fish/functions/man.fish, а всередині нього визначають функцію, manяка встановлює необхідні змінні середовища, а потім викликає оригінал manза допомогою command, передаючи аргументи за допомогою $argv.

Це моя версія функції обгортки:

~/.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

2
Дивовижне дякую! А щоб отримати ще більш рибку, ви можете скористатися set_colorкомандою. напр .: set -x LESS_TERMCAP_md (set_color -o red),set -x LESS_TERMCAP_me (set_color normal)
Кріс Кларк

3

Припустимо, що ви використовуєте менше як пейджер, введіть це ~/.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")

Якщо \e[0mпід час перегляду сторінки чоловіка ви бачите тощо, спробуйте також додати цей рядок:

set -x LESS "-R"

Не працює. Я бачу рядки \ e [01, коли роблю "man ls".
Ешвін Нанджаппа

Дивно, я вважаю, що це було прямо з мого конфігураційного файлу. Насправді я ще не пробував це на Ubuntu, хоча сам запускаю інший дистрибутив. Можливо, ви можете спробувати додати set -x LESS="-R"до кінця конфігурації?
bobbaluba

Додавання це не допомогло. Все ще бачимо ті ж \ e [01 рядки в manpage.
Ешвін Нанджаппа

1

Можна використовувати set_colorзамість прямих послідовностей ANSI. Насправді це дозволяє використовувати будь-який колір, який ви хочете, використовуючи 24-бітні кольорові шістнадцяткові втечі, наприклад (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)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.