Зробіть менше висвітлювати шаблони пошуку, а не курсив їх


23

Наскільки я розумію, людина використовує lessяк пейджер, і при пошуку ключових слів за допомогою lessнього «виділяється» ключові слова курсивом. Мені це здається незручним, тому я хотів би змінити це на щось на кшталт vim's, set hlsearchде знайдений візерунок має інший фон.

Я намагався запустити, man -P vim systemdале вийшов із статусом помилки 1, тому, схоже, я застряг less.

Мені не вдалося знайти нічого, man lessщо допомогло (замість цього я виявив, що варіант -Gвимкне виділення всіх разом, що є ще гіршим курсивом).

Зважаючи на те, чи знає хто, як домогтися виділення пошуку (змінити колір тла) на сторінках «man»?

FYI я запускаю Ubuntu 14.10

Я наштовхнувся на це питання, схоже, запитав приблизно те саме, але я не впевнений, чи слідкую за тим, як це працює ( LESS_TERMCAP_so). Сторінка lessman не згадує про це. (Я отримую дивні результати з цим рішенням)


Це означає, що ви розміщуєте цей рядок у своєму ~/.bashrcфайлі. export LESS_TERMCAP_so=$'\E[30;43m'Дивіться цю відповідь також unix.stackexchange.com/questions/38634/…
iyrin

1
Колись я використовую man man | vim -свої конфігурації, ключі та функції vim
JJoao

Ви вирішили вирішити це? У мене однакова проблема на одній машині, і я не можу зрозуміти, у чому різниця. LESS_TERMCAP_so
Наведена

Боюся, я все ще борюся з цим
sgp667,

Відповіді:


16

Знайшла відповідь на суперпопулярному: /superuser/566082/less-doesnt-highlight-search

Схоже, це має відношення до вашої настройки TERM. Наприклад, менше підсвічування діє нормально (підсвічування білого фону), коли у звичайному вікні терміналу gnome, але коли я перебуваю у tmux, курсив трапляється. Для мене різниця полягає в тому, що TERM встановлюється на "екран", коли в tmux, а "xterm-256color", коли ні. Коли я встановлюю "TERM = xterm-256color" у вікні tmux, підсвічування в меншій мірі повертається до підсвічування фону.


Мені вже вдалося забути це питання, але це хвилююча новина. Як тільки я дістану руку до комп'ютера, я перевірю це!
sgp667

1
це непрактичне рішення, оскільки інші програми залежать від встановлення терміна на екран *, коли в tmux, наприклад, у WeeChat. Якщо у tmux не встановлено екран *, WeeChat має дивні проблеми з візуалізацією.
Blaine Lafreniere

Я зазначив, що у мене була проблема з tmux <2.0 і не виникає проблеми з tmux v2.
artfulrobot

Чудова знахідка. Тепер set -g default-terminal "xterm-256color"у моєму вікні CentOS 7 (та інших) у моєму ~ / .tmux.conf (та інших).
sshow

Перевірте також, чи screen-256colorіснує: спробуйте ls /usr/share/terminfo/s/.
aDroid

8

Згадка про LESS_TERMCAP_soбуло неповною. Це менша спеціальна змінна середовище, яка використовується для заміни терміна capso (standout). Щоб скористатися цією можливістю, ви також повинні забезпечити se(standend) можливість.

Сторінка керівництва terminfo (5) дає короткий зміст цих функцій для назв terminfo (smso / rmso) та termcap (so / se):

   enter_standout_mode           smso       so        begin standout mode
   exit_standout_mode            rmso       se        exit standout mode  

Розділ про висвітлення пояснюється:

Якщо ваш термінал має один або декілька видів атрибутів відображення, вони можуть бути представлені різними способами. Ви повинні вибрати один дисплей виду , як видатний режим, який представляє собою хороший, високий контраст, легко-на-віч, формат для виділення повідомлень про помилки та інших методів отримання уваги. (Якщо у вас є вибір, зворотне відео плюс половина яскравий хороший, або зворотне відео в поодинці.) Послідовність для входу і виходу з режиму безумовного переможця дається як smso і rmso, відповідно.

Якщо ви хочете використовувати колір для виділення , ви повинні надати відповідний LESS_TERMCAP_seякий колір повертається в вихідне стан . Це зробити досить просто, доки ви не сподіваєтесь використовувати кольори на сторінці керівництва з інших причин (наприклад, за допомогою функції кольорів SGR в грофі).

Припускаючи значення, запропоноване в коментарі:

export LESS_TERMCAP_so=$'\E[30;43m'

тоді ви можете скинути це для більшості терміналів, використовуючи

export LESS_TERMCAP_se=$'\E[39;49m'

До речі, причина курсиву полягає в тому, що в описі терміналу для GNU screenвикористовується стандартна послідовність відхилення курсивом як власні можливості stand-stand / standend. Деякі з них обговорюються в записі бази даних терміналів .


Це було перше рішення, яке насправді працювало для мене (у tmux на Mac). Я просто додаю обидві вищевказані лінії експорту в мій файл bash config.
Марлун

Однак якщо я напишу "експортувати", щоб переглянути всі мої змінні середовища, все після того, як ці рядки будуть виділені, і термінал продовжує виділятися, тому мені доведеться закрити його та запустити новий.
Marlun

У таких випадках я розміщую змінні в сценарій, який викликає програму, яка потребує конкретних змінних. Змінені змінні застосовуються лише в сценарії.
Томас Дікі

export | lessфункціонує і як вирішення проблеми
Marlun

4

Натисніть, ESCuщоб вимкнути підсвічування пошуку lessпісля пошуку; новий пошук знову ввімкне його, щоб назавжди вимкнути підсвітку пошуку для сеансу-G .

По черзі розміщуйте LESS='-G'у своєму оточенні або працюйте manтак:

LESS='-G' man less

Як не дивно, це все задокументовано в less ...

Ви також можете розмістити в оточенні, наприклад, у своєму .bash_profile:

export MANPAGER='less -G'

як я пояснив у своєму запитанні, я не хочу повністю повертати його, я хочу змінити, як він відображається на моєму екрані. Моє запитання могло ввести в оману, бо хтось мені це відредагував.
sgp667

1

Для tmux I набору TERMв tmux-256 - кольорові . Серед інших приємних речей, це "звичайне" зворотне підсвічування менше . Добре працює при використанні чогось сучасного, наприклад, Fedora або Cygwin.

$ cat ~/.tmux.conf
⋮
set-option -g default-terminal tmux-256color

Однак пакети ncurses на Centos не мають двох визначень tmux ( tmux і tmux-256color ). Я імпортував їх досить легко з Fedora. Невеликі зморшки - це те, що Centos ' Ncurses занадто старий , щоб зрозуміти Terminfo файли в Fedora безпосередньо.

На Fedora:

$ infocmp tmux256-color >temp.txt

Про Centos:

$ scp fedora-machine:temp.txt .
$ tic temp.txt

Потім всередині tmux :

$ TERM=tmux-256-color man tmux

Результат!

FYI команда tic розміщує складений опис терміналу у вашій персональній базі даних terminfo, тобто ~/.terminfo/t/tmux-256color(в даному випадку). Не соромтеся перемістити це до глобальної бази даних, якщо саме цього ви хочете:

$ sudo mv ~/.terminfo/t/tmux-256color /usr/share/terminfo/t/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.