小编use*_*976的帖子

tmux 中的 Vim 无法正确确定背景颜色

我从 xfce4-terminal 通过 SSH 连接到服务器。

当我在 tmux 之外打开 vim 时,vim 中的颜色非常亮(这很好): vim 中的亮色

当我使用默认配置启动 tmux 并从那里打开 vim 时,它显示正常颜色(t_Co=8):
vim 中的正常颜色

但是,如果我设置default-terminal为“任何-256colors”(或开始tmux使用-2),并从TMUX启动Vim,有些颜色非常暗淡:
vim 中的暗淡颜色

Vim 确实认识到这是一个 256 色的终端,因为 t_Co 被设置为 256。

我发现进入 :set background=dark在 vim修复颜色方案,但是,这不是正确的修复方法,因为这只会颠倒问题(即它会导致 vim 在浅色背景的终端中使用明亮的颜色)。

如何让 vim 在 tmux 中正确确定背景颜色,而无需明确设置?


除了 tmux,$TERM等于xterm-256color.

.tmux.conf 包含:

set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)

在 tmux 中,$TERMscreen-256color. 将终端类型更改为xterm-256color没有帮助。

vim terminal tmux

6
推荐指数
0
解决办法
321
查看次数

将命令的输出通过管道传输到 grep,然后再传输到另一个命令

我正在获取一个脚本的输出,然后将此输入传递给 grep 并将 grep 的输出传递给另一个脚本:

./script1 | grep 'expr' | ./script2
Run Code Online (Sandbox Code Playgroud)

但是,第二个脚本永远不会得到任何输入。同样,没有被印刷时,我代替script2catscript1ping

ping localhost | grep localhost | cat
Run Code Online (Sandbox Code Playgroud)

如果我替换grepawk

ping localhost|awk '{print $1}'|cat
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

shell grep pipe

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

grep ×1

pipe ×1

shell ×1

terminal ×1

tmux ×1

vim ×1