resaltado de la búsqueda de páginas de manual de tmux
Cuando busco en, por ejemplo, man ls
mientras estoy en una sesión tmux
, las cadenas de búsqueda no aparecen resaltadas: la página salta hacia abajo para que la cadena de búsqueda esté en la línea superior del búfer, como se esperaba, pero no está resaltada.
Hacer lo mismo en el mismo shell mientras no está en una sesión tmux
resulta en cadenas de búsqueda resaltadas.
No tengo idea de por dónde empezar a buscar para resolver esto. Cualquier pista es apreciada.
3 answers
Basado en Menos Colores Para las Páginas de Manual por Gen2ly
, aquí está mi página de manual y cómo hacerlo:
Vista previa
¡Esto es un shell, no una página web !
Cómo
- (opcional) Estoy usando Tomorrow theme para Konsole/Yakuake ;
-
Edite su
~/.bashrc
~/.zshrc
, etc. para añadir:# Colored man pages: http://linuxtidbits.wordpress.com/2009/03/23/less-colors-for-man-pages/ # Less Colors for Man Pages export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold export LESS_TERMCAP_me=$'\E[0m' # end mode export LESS_TERMCAP_se=$'\E[0m' # end standout-mode export LESS_TERMCAP_so=$'\E[38;5;016m\E[48;5;220m' # begin standout-mode - info box export LESS_TERMCAP_ue=$'\E[0m' # end underline export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline
-
Vuelva a cargar su configuración e intente una búsqueda en la página de manual:
. ~/.bashrc && man ls
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-05 15:51:31
Lo arreglé. El problema tiene que ver con la forma en que la screen
$TERM
maneja cursiva. Desde el tmux
FAQ :
Vim muestra el video inverso en lugar de cursiva, mientras que less muestra cursiva (o simplemente texto normal) en lugar de inverso. ¿Qué pasa?
Esto coincide exactamente con mi problema. El $PAGER
usado por man
es less
por defecto - básicamente, man
usa less
para mostrar el contenido de las páginas de manual. En mi caso, less
no estaba resaltando el texto, solo mostrando texto regular.
La razón de que esto suceda:
La descripción del terminfo de la pantalla carece del modo cursiva y tiene un modo destacado en su lugar, pero usando la misma secuencia de escape que urxvt usa para cursiva. Este significa que las aplicaciones (como vim) que buscan cursiva no lo encontrarán y podrían a su vez a la inversa en su lugar, mientras que las aplicaciones (como menos) pidiendo el sobresaliente terminará con cursiva en lugar de reversa.
La solución es hacer un nuevo archivo terminfo
para tmux
, que le permite saber que las cursivas son compatibles. La solución se describe en el (en el momento de escribir) muy, muy abajo de la tmux
FAQ.
Después de crear el nuevo archivo terminfo
, en tmux
: C-b :source-file /absolute/path/to/.tmux.conf
(from this SuperUser question) - this should make tmux
reload the .tmux.conf
file. Sin embargo, esto no funcionó para mí, y los cambios solo se aplicaron después de reiniciar el servidor tmux
(cierre todas las sesiones tmux
y luego vuelva a abrirlas).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 10:18:14
Este hilo tiene algunos años, pero sigue siendo el que aparece como el mejor resultado de búsqueda, así que estoy respondiendo con lo que finalmente funcionó para mí. Esto se basa en tmux FAQ .
...pero las instrucciones no son completamente claras sobre cuándo o dónde sustituir la cadena-256color. Uso gnome-terminal (v 3.16.2) con tmux, y esto funcionó para mí:
$ mkdir $HOME/.terminfo/
$ screen_terminfo="screen-256color"
$ infocmp "$screen_terminfo" | sed \
-e 's/^screen[^|]*|[^,]*,/screen-256color|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
Y dile a tmux que lo use en ~/.tmux.conf:
set -g default-terminal "screen-256color"
Nota: Lo probé una vez sin el color-256 y dado que eso no funcionó (aún viendo cursiva en lugar de resaltado), tuve que eliminar todo bajo el .terminfo dir (otro dir llamado 's') antes de que el infocmp funcionara.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-07 00:18:52