sim*_*ont 29 gnu-screen ansi-escape terminfo terminal-emulator tmux
当我在搜索,例如,man ls而在tmux会议上,搜索字符串不高亮显示-页面跳转下来,让搜索字符串是在缓冲区的顶部线条,符合市场预期,但它并不突出.
在不在tmux会话中的同一个shell中执行相同的操作会导致突出显示的搜索字符串.
我不知道从哪里开始寻求解决这个问题.任何提示都表示赞赏.
sim*_*ont 19
固定它.问题是screen $TERM处理斜体的方式.来自tmuxFAQ:
vim显示反向视频而不是斜体,而较少显示斜体(或只是常规文本)而不是反向.怎么了?
这完全符合我的问题.该$PAGER使用的man是less默认-基本上,man使用less以显示手册页的内容.在我的情况下,less没有突出显示文本,只显示常规文本.
发生这种情况的原因:
Screen的terminfo描述缺少斜体模式,并且在其位置具有突出模式,但使用urxvt用于斜体的相同转义序列.这意味着寻找斜体的应用程序(如vim)将找不到它并且可能在其位置转向反向,而要求突出的应用程序(如更少)将以斜体而不是反向结束.
解决方案是为其创建一个新terminfo文件tmux,让它知道支持斜体.解决方案(在撰写本文时)概述了tmuxFAQ的非常底层.
创建新后terminfo的文件,在tmux:C-b :source-file /absolute/path/to/.tmux.conf(从这个超级用户的问题) -这应使tmux重新加载.tmux.conf文件.但是,这对我不起作用,并且仅在重新启动tmux服务器后应用更改(关闭所有tmux会话,然后重新打开它们).
Édo*_*pez 19
基于Less Pages For Man Pages by Gen2ly,这是我的手册页以及如何操作:
这是一个shell,而不是一个网页!

编辑您的~/.bashrc ~/.zshrc等等以添加:
# 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
Run Code Online (Sandbox Code Playgroud)重新加载您的配置并尝试手册页搜索:
. ~/.bashrc && man ls
Run Code Online (Sandbox Code Playgroud)Chr*_*sty 12
这个帖子已经有几年了,但仍然是最好的搜索结果,所以我正在回答最终为我工作的东西.这是基于tmux常见问题解答.
...但是有关替换-256color字符串的时间或位置的说明并不完全清楚.我使用gnome-terminal(v 3.16.2)和tmux,这对我有用:
$ 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
Run Code Online (Sandbox Code Playgroud)
并告诉tmux在〜/ .tmux.conf中使用它:
set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)
注意:我尝试了一次没有-256color,因为它不起作用(仍然看到斜体而不是突出显示),我必须在infocmp工作之前删除.terminfo目录下的所有内容(另一个名为's'的目录).
| 归档时间: |
|
| 查看次数: |
6121 次 |
| 最近记录: |