LINUX.ORG.RU

tmux и less highlighting

 ,


0

1

В tmux less не подсвечивает найденные символы. Гуглил, сделал все по faq (less displays italics (or just regular text) instead of reverse.) но результата нет. Там замешана директория $HOME/.terminfo/ о которой я слышу впервые. Как правильно настроить сию канитель ?
И еще вопрос: как изменить цвет подсветки найденных символов в less


Крути настройки терминала. (в xterm всё работает)

beastie ★★★★★
()

В ~/.bashrc

TERM=xterm
В ~/.tmux.conf
set-option -g default-terminal screen-256color
И старт тмукса по «tmux -2».

Повторите, и сообщите о результате.

Spirit_of_Stallman ★★★
()
Ответ на: комментарий от Spirit_of_Stallman

так работает, но в $TERM попадает xterm а не screen-256color. Запускаю tmux -2, set-option -g default-terminal screen-256color прописал.

riso
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

я не пойму почему $TERM не присваивается screen-256color. Правда, если вручную сделать (без .bashrc):

TERM=xterm
tmux -2
echo $TERM
screen-256color

riso
() автор топика
Ответ на: комментарий от riso

Потому что вы, как я понимаю, немного не охватили, пока, механику.
Объявив TERM=xterm, вы присвоили эту переменную в рамках текущего шелла; запуская тмукс, вы запускаете программу, которая является, по сути, новым эмулятором терминала. Из этого выходит что мы получаем не шелл _с_той-же_шелл_сессией_, в котором был открыт тмукс, а новый, который не знает объявленных переменных из прошлого (или «соседнего»).
От того вам нужно или объявить TERM=xterm, в уже тмуксовской сессии шелла, или же объявить TERM=xterm в сценарии, что шелл-сессия выполняет при своём старте, т.е. (в данном случае) в .bashrc.

Spirit_of_Stallman ★★★
()
Последнее исправление: Spirit_of_Stallman (всего исправлений: 3)
Ответ на: комментарий от Spirit_of_Stallman

разобрался. Нужно было вместо screen_terminfo=«screen» подставить screen_terminfo=«screen-256color»:

$ mkdir $HOME/.terminfo/
	$ screen_terminfo="screen-256color"
	$ infocmp "$screen_terminfo" | sed \
	  -e 's/^screen[^|]*|[^,]*,/screen-it|screen with italics support,/' \
	  -e 's/%?%p1%t;3%/%?%p1%t;7%/' \
	  -e 's/smso=[^,]*,/smso=\\E[7m,/' \
	  -e 's/rmso=[^,]*,/rmso=\\E[27m,/' \
	  -e '$s/$/ sitm=\\E[3m, ritm=\\E[23m,/' > /tmp/screen.terminfo
	$ tic /tmp/screen.terminfo
Может кому-нибудь пригодится.

riso
() автор топика
18 февраля 2014 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.