Как получить цветные страницы справочника под оболочкой рыбы?

Кажется, существует способ заставить страницы справочника отображаться в цвете (см. здесь. Это включает переменные среды установки, связанные с меньше и добавление этих определений .bashrc. Я пытался выполнить в том же config.fish для оболочки рыбы, но не получил вывода цвета.

Как получить цветные страницы справочника в оболочке рыбы?

11
задан 11 September 2014 в 05:54

4 ответа

Можно установить конфигурацию следующими командами,

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")  
6
ответ дан 16 November 2019 в 14:56

Если Вы хотите, чтобы эти цвета были добавлены только при просмотре страниц справочника, не для всего, что Вы просматриваете в 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
6
ответ дан 16 November 2019 в 14:56

Принятие Вас использует меньше в качестве Вашего пейджера, помещает это в ~/.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"
3
ответ дан 16 November 2019 в 14:56

Возможно использовать set_color вместо прямых последовательностей ANSI. На самом деле это позволяет Вам использовать любой цвет, как который Вы хотите, при помощи 24-разрядных цветных шестнадцатеричных Escape, (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)
1
ответ дан 23 November 2019 в 04:01

Другие вопросы по тегам:

Похожие вопросы: