Раскрашивает страницы справочника

Запуск в tmux 1.9 default-path опция была удалена, таким образом, необходимо использовать -c опция с new-window, и split-window (например, путем повторного переплетения c, ", и % привязка для включения
-c '#{pane_current_path}'). См. некоторые из других ответов на этот вопрос для деталей.


Соответствующая функция, посаженная в tmux SVN, соединяет магистралью в начале февраля 2012. В сборках tmux, которые включают этот код, tmux привязки клавиш, которые вызывают new-window создаст новый окно с тем же текущим рабочим каталогом как активные процессы текущей области (как долго как default-path опция сессии пуста; это по умолчанию). То же верно для области, созданной split-window управляйте, когда это будет вызвано через привязку.

Это использует специальный определенный для платформы код, поэтому только определенные Ose поддерживаются в это время: Darwin (OS X), FreeBSD, Linux, OpenBSD и Солярис.

Это должно быть доступно в следующем выпуске tmux (1.7?).


С tmux 1.4 я обычно просто использую

tmux neww

в оболочке, которая уже имеет желаемый текущий рабочий каталог.

Если, однако, я ожидаю должным быть создать много окон с тем же текущим рабочим каталогом (или я хочу смочь запустить их с обычного <префикс>c привязка клавиш), затем я установил default-path опция сессии через

tmux set-option default-path "$PWD"

в оболочке, которая уже имеет желаемый текущий рабочий каталог (хотя Вы могли, очевидно, сделать это из любого каталога и просто указать значение вместо этого).

Если default-path установлен на непустое значение, его значение будет использоваться вместо того, чтобы “наследовать” текущий рабочий каталог от вызовов командной строки tmux neww.

tmux FAQ запись назвала, “Как я могу открыть новое окно в том же каталоге как текущее окно?” это описывает другой подход; это является немного замысловатым все же.

65
30.04.2013, 06:08
7 ответов

Необходимо использовать termcap(5) функция. В странице справочника на некоторых Нельдах говорится, что этот инструмент устаревший и использовать terminfo, но это все еще доступно на другихterminfo более сложно).

Что еще более важно, less использование termcap.


Выбирание цветов для less

Я делаю следующее так, чтобы less и man (который использует less) будет иметь цвет:

$ cat ~/.LESS_TERMCAP 
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)
export GROFF_NO_SGR=1         # For Konsole and Gnome-terminal

И затем в моем ~/.bashrc, Я делаю это:

# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"

# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP

Примечание: См. документацию относительно LESS_TERMCAP_* переменные? поскольку, как это работает.

Конечный результат

    ss of man page

80
27.01.2020, 19:32
  • 1
    я верю причине, это работает способ, которым это делает, то, потому что 'консоль' переводит 'подчеркивание' в цвет, тогда как X11 наполняют подчеркивания поддержек. Можно протестировать эту теорию путем ввода echo -e "\e[04mhello world\e[0m" и в консоли и в Вашем терминале X11 и наблюдении различия. Таким образом, это выше взлома злоупотребляет termcap для лжи о МЕНЬШЕ о том, какие коды он должен испустить для полужирного / подчеркивания и вынуждает это произвести цветные управляющие коды вместо этого. –  Kent Fredric 15.02.2011, 14:03
  • 2
    Действительно, перевод подчеркивания в синий имеет исторические причины, возвращаясь к текстовым режимам исходных графических адаптеров ПК MDA и CGA (на самом деле, текстовые режимы CGA все еще доступны до настоящего времени). Те графические адаптеры сохранили два байта за символ: Одно содержание код ASCII, одно содержание атрибуты. MDA интерпретировал байт атрибута как комбинации подчеркивания, яркого, мигнув и инверсии, в то время как CGA интерпретировал тот байт как основной цвет и цвет фона. И это произошло, что атрибут MDA для подчеркивания равнялся атрибуту CGA для синего на черном цвете. –  celtschk 08.05.2014, 21:39
  • 3
    Это не работает в Konsole или Gnome-terminal. Я установил их, и единственное цветное изменение для курсора и страницы состояния. Я оказываюсь, что мне нужно: export GROFF_NO_SGR=1. –  CMCDragonkai 04.05.2016, 10:11
  • 4
    Это - много созданных подоболочек. Каково преимущество перед этим более простым подходом? –  Tom Hale 20.01.2017, 09:34

Можно решить эту проблему при помощи другого пейджера, например most. man будет на самом деле использовать программу, указанную в PAGER переменная среды. От человека (1) страница справочника:

MANPAGER, ПЕЙДЖЕР

Если $MANPAGER или $PAGER установлены ($MANPAGER используется в предпочтении), его значение используется в качестве названия программы, используемой для отображения страницы руководства. По умолчанию пейджер-s используется.

Значение может быть простым названием команды или командой с аргументами, и может использовать заключение в кавычки оболочки (обратные косые черты, одинарные кавычки или двойные кавычки).

Это не может использовать каналы для соединения нескольких команд; при необходимости в этом используйте сценарий обертки, который может взять файл для отображения или как аргумент или на стандартном входе.

Если most установлен в Вашей системе, попробуйте это перед запуском man:

export PAGER=most
15
27.01.2020, 19:32
  • 1
    most должен быть установлен, чтобы это работало. –  enzotib 14.09.2011, 10:41

Взятый из http://nion.modprobe.de/blog/archives/569-colored-manpages.html

Выборка:

$ mkdir ~/.terminfo/ && cd ~/.terminfo

Теперь доберитесь terminfo описание (сохраняют следующее как mostlike.txt):

# Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor
mostlike|manpages with color looking like most, 
    am, hs, km, mir, msgr, xenl, 
    cols#80, it#8, lines#24, wsl#40, 
    acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
    bel=^G, bold=\E[1m\E[31m, clear=\E[H\E[2J, cr=^M, 
    csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
    cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
    cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
    dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
    dsl=\E]0;\007, ed=\E[J, el=\E[K, enacs=\E)0, fsl=^G, 
    home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, 
    is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, 
    kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
    kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, 
    kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, 
    kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, 
    kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, 
    kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
    kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, 
    kslt=\E[4~, rc=\E8, rev=\E[7m\E[34m, ri=\EM, rmacs=^O, 
    rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, 
    rmso=\E[m, rmul=\E[m, 
    rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, 
    sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, 
    smkx=\E[?1h\E=, smso=\E[1;30m\E[47m, smul=\E[32m, 
    tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, 
    u8=\E[?1;2c, u9=\E[c, 

Теперь скомпилируйте его использование tic (terminfo компилятор описания записи):

$ tic mostlike.txt

(Можно хотеть удалить mostlike.txt файл после компиляции.)

И затем просто определите псевдоним в *rc файл Вашей любимой оболочки.

$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"

Если Вы хотите изменить terminfo файл, использовать infocmp mostlike получить содержание его позже.

1
27.01.2020, 19:32
  • 1
    Помогает, суммируете ли Вы источник здесь, таким образом, люди видят то, что это говорит, не имея необходимость нажимать через (и в случае, если сайт когда-либо понижается), –  Michael Mrozek♦ 10.08.2010, 23:57
  • 2
    Предоставьте ответы, не только связывается с ответами. Очень хорошо предоставить ссылки, которые поддерживают Ваш ответ, как бы то ни было. Предположите, что я гуглил для этого вопроса---, хороший ответ в StackExchange быстро найдет, что это - путь к первой странице результатов. –  Stefan Lasiewski 11.08.2010, 00:27
  • 3
    Ссылка является битой. –  farzan 05.07.2016, 13:12
  • 4
    Найденный этим mostlike.txt онлайн. работа –  Kaushal Modi 07.09.2016, 18:13
  • 5

От подчеркиваний по умолчанию у меня болят глаза. Эта настройка значительно улучшает чтение страниц man:

Coloured man page example

Добавьте следующее в ваш `~.bashrc':

# Have less display colours
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
export LESS_TERMCAP_mb=$'\e[1;31m'     # begin bold
export LESS_TERMCAP_md=$'\e[1;33m'     # begin blink
export LESS_TERMCAP_so=$'\e[01;44;37m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;37m'    # begin underline
export LESS_TERMCAP_me=$'\e[0m'        # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m'        # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m'        # reset underline
export GROFF_NO_SGR=1                  # for konsole and gnome-terminal

Для победы, сочетайте с export MANPAGER='less -s -M +Gg' (source) для отображения вашего процента в документе.

10
27.01.2020, 19:32

Взяв ответ dirtybit , я хотел изменить цвет выделенного результаты поиска. Это называется "режим ожидания", вот пример файла "xterm-yellow.ti":

xterm-yellow|yellow standout mode,
# exit standout mode
  rmso=\e[m,
# begin standout mode
  smso=\e[5;30;43m,
# similar terminal
  use=xterm,

Скомпилируйте и установите файл:

tic xterm-yellow.ti

Добавьте строку в "~ / .profile" или аналогичный:

TERM=xterm-yellow
1
27.01.2020, 19:32

Если вы используете Oh My Zsh, вы можете добавить colored-man-pages в массив plugins в вашем .zshrc файл.

9
27.01.2020, 19:32

В Linux можно попробовать следующие MANPAGERнастройки [1]. Второй нуженbat.

MANPAGER="less -R --use-color -Dd+r -Du+b"

или

MANPAGER="sh -c 'col -bx | bat -l man -p'"

В Gentoo Linux вы также можете попробовать это, что требуетapp-text/manpager

MANPAGER=manpager

(Я не читал код manpager, думаю, это просто оболочка команды lessи переменных окруженияLESS_TERMCAP_??).

[1] https://wiki.gentoo.org/wiki/Man_page#Color_for_man_pages

0
17.10.2021, 07:24

Теги

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