- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试各种不同的终端,我倾向于使用它们将 SSH 连接到我设置了 Tmux 的 Linux 机器中。
基本上我注意到了这种行为,我希望有人可以解释正在发生的事情。现在可能是这种情况是影响提示应用程序的特定行为。
我在 Tmux 中使用 Vim,并且在我的 iPhone5 上的 Panic 提示应用程序中,当 .vimrc
出现时,我的行为无法启用 256 种颜色。使用 set t_Co=256
设置颜色指示。在这里,当 Vim 没有通过 Tmux 运行时,它正确地显示了颜色。此外,OS X 的 Terminal.app 使用 Tmux 中的 Vim 正确呈现了颜色(不幸的是,我没有在 Windows 上用这个测试 PuTTY)。
然后我换掉了set t_Co=256
为 set term=xterm-256color
现在颜色在通过 Tmux 使用 Vim 时起作用。
另请注意,我同时测试了 set -g default-terminal "xterm-256color"
和 set -g default-terminal "screen-256color"
Tmux 的设置,此更改对行为没有影响。
最佳答案
不使用时 tmux
或 screen
,你只需要配置你的终端模拟器,通过设置他们的 TERM
来宣传自己“能够显示 256 种颜色”。至 xterm-256color
或任何适用于您的终端和平台的可比值(value)。你怎么做将取决于终端模拟器,并且超出了你的问题和这个答案的范围。
你不需要在 Vim 中做任何事情,因为它完全有能力自己做正确的事情。
当您使用 tmux
或 screen
,这些程序为 $TERM
设置了自己的默认值, 通常 screen
, Vim 对它所提供的信息进行处理。
如果您想要更统一(和丰富多彩)的行为,您必须将它们配置为对 $TERM
使用“更好”的值。 :
~/.tmux.conf
:set -g default-terminal "screen-256color"
~/.screenrc
:term "screen-256color"
~/.vimrc
,我不认为我离题太远了。
term
的值option(用
&term
检索)是 Vim 在启动时选取的终端名称。该名称是您应该在终端仿真器本身中设置的名称。
t_Co
的值option (
&t_Co
) 是 Vim 认为主机终端可以显示的最大颜色数。根据
$TERM
对应的条目定义在
terminfo
:
term | t_Co
-----------------+------
xterm | 8
xterm-256color | 256
screen | 8
screen-256color | 256
TERM
的值环境变量,查询
terminfo
具有该值的数据库,并在多个
t_…
中存储了许多有关其环境的信息。其中的变量...
t_Co
中可用的颜色数量.给定一个“合法的”终端类型(Vim 可以查找的类型),Vim 总是假定正确的颜色数量。
t_Co
至
256
离开时
term
到它的 Vim 定义的值——或者,更一般地说,设置
t_Co
和/或
term
到与主机终端不匹配的值 - 没有意义,并且当 Vim 发送终端不理解的信号时可能会造成麻烦,反之亦然。
t_Co
和
term
在 Vim 中既完全无用又可能有害。
TERM
,然后并且只有这样您才能强制 Vim 呈现 256 种颜色。为此,更改
t_Co
的值是唯一有意义的事情:
if &term == "screen"
set t_Co=256
endif
xterm-256color
screen-256color
~/.vimrc
中使用一个简单的条件。设置
t_Co
根据
&term
但不要更改
term
的值.
~/.vimrc
您没有理由不能编辑
~/.screenrc
或
~/.tmux.conf
或
~/.bashrc
管他呢。
关于Vim:t_Co=256 和 term=xterm-256color 与 TMUX 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375992/
在 Mac Mountain Lion 上,tmux 通过 Homebrew 安装。 以下某些设置不起作用: setw -g pane-base-index 1 set -g mouse-resize
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在编写一个 shell 脚本,用于创建/附加或切换到给定 session ,具体取决于 session 是否位于 tmux 内部以及 session 是否存在。 除了需要在 tmux sessio
我在 iTerm2 中使用 tmux 已经有一段时间了,但我没有使用现在 iTerm2 附带的 tmux 集成。 我开始考虑使用 tmux 集成,因为它允许您在 tmux 中使用 shell 集成。
我正在尝试编写一个可以运行/源代码的脚本,以便 tmux 设置特定的布局并运行命令。我有一些结果。 这是我到目前为止所写的内容: selectp -t 1 splitw -v -p 15 splitw
我写了 this thing每当在运行 session 中创建新窗口时,我都想获取 Python virtualenv activate 脚本。 是否可以? default-command 选项与 s
我想从下到上移动窗口列表。 如果应用程序的状态栏在 tmux 窗口列表上方,我会觉得它很奇怪。 任何提示? 最佳答案 看到这个 answer on Unix & Linux .如果您从 SVN 构建,
我在 gnome 终端内使用 tmux。 当我第一次打开一个窗口(默认大小为 80x24)时,tmux 栏紧贴在窗口的底部。然而,当我最大化终端窗口时,tmux 栏下方会出现一个令人讨厌的大间隙。 m
Tmux 使用 scroll 来查找历史命令,这让我很困扰。如何禁用此功能?我曾尝试使用“设置鼠标”,但它给了我另一个问题。我只想一直禁用我的鼠标,让滚动保留其原始用途。 最佳答案 Tmux 不再有鼠
我刚刚在我的新 MacBook Pro 上安装了 tmux,并且遇到了以下问题。 当我通过命令 tmux new-window 创建一个新窗口时我得到一个与我正在创建的 session 具有相同工作目
我经常同时运行几个 tmux session ,在大多数这些 session 中,我将在一个端口上运行一个本地服务器。我想要的是能够在从 tmux session 分离时自动终止该服务器,并在重新连接
有没有办法重新编号或交换 tmux session ,就像您可以重新编号或交换 tmux 窗口一样?我看不到它的任何命令,并希望在某些 session 之间轻松切换。 最佳答案 它们按名称排序(默认为
tmux 有一个命令模式,可以通过 C-b : 访问我想知道在我的 .tmux.conf 中是否有别名命令的方法像 split-window 这样的文件对于我更常用的东西,例如 vsp在 vim. 我
这样做的天真方法行不通。尝试这个: 启动第一个 tmux session 。 $ export ENVIRONMENT="production" $ tmux 然后您可以在 session 内验证 E
我管理着多台 Linux 机器,其中一些在存储库中的 tmux 版本为 2.1,而另一些的 tmux 版本低于 2.1。我使用鼠标模式,我知道在 tmux 2.1 中,启用鼠标模式的选项已更改为: s
我在 tmux 命令提示符下使用 Backspace 键时遇到问题。退格会删除 tmux 中的前一个字符(如预期的那样),但不会在 tmux 命令提示符下删除。例如,:lists不会删除 's' 字符
刚刚通过 homebrew 安装了 tmux我正在尝试找到系统范围的 tmux 配置文件。手册页指出系统范围的文件应该位于 /etc/tmux.conf ,但由于某种原因,它不在那里。默认在哪里tmu
我在 iTerm2 中使用 tmux。 当我在 bash 中时,使用 Ctrl-L 清除屏幕有效,但在我拖尾服务器日志时不起作用。我该如何解决? 最佳答案 您可以使用 send-keys -R 清除当
我可以设置 tmux 以在进程完成时在非事件窗口中触发警报吗? 例如:我开始了一个漫长的构建过程。我希望在完成时收到通知,而不是每次打印状态时都收到通知。 最佳答案 我很惊讶还没有给出这个答案:您可以
这是this question的后续. 假设我在一个 tmux session 中,我想打印 的名称当前 socket 正在使用。我怎样才能做到这一点? 最佳答案 当前服务器套接字的信息存储在 TMU
我是一名优秀的程序员,十分优秀!