我使用以下命令更改屏幕底部状态栏的颜色:
set -g status-bg colour244
Run Code Online (Sandbox Code Playgroud)
但我不知道如何更改分隔窗格的线条的颜色;目前,它们是原始绿色和灰色 (color244) 的混合。man tmux给了我很多关于状态行的信息,但这似乎是指状态栏本身,而不是分界线。
我怀疑我只是在这里遗漏了一些术语。
我在本地安装了 tmux(没有 root 权限)。我还在.tmux.conf我的主目录中使用以下几行创建了我的文件:
unbind-key C-b
set -g prefix C-o
bind-key C-o send-prefix
Run Code Online (Sandbox Code Playgroud)
但是,tmux似乎没有采购此文件(我的绑定密钥仍然是C-b)。我尝试关闭并重新打开我的 ssh 会话(这是在远程机器上),但没有成功。
会发生什么?
环境:
我最近开始使用 tmux 并观察到 Vim 中的颜色会根据我是在 tmux 内部还是外部运行而变化。下面是 Vim 在查看 Git 差异时在 tmux 外部(左)和内部(右)的屏幕截图:
我的TERM变量是
xterm-256colorscreen-256colorVim 按预期报告这些终端类型(通过:set term?):
term=xterm-256colorterm=screen-256colorVim 还报告两个实例都在 256 色模式下运行(通过:set t_Co?):
t_Co=256t_Co=256关于让 Vim 在 …
我想通过窗格 # 直接切换到 Tmux 中的窗格。
我怎样才能做到这一点?我知道如何在窗格之间循环,并移动到当前窗格旁边的窗格。
我希望能够运行该display-panes命令,该命令在每个窗格上显示“窗格#”,然后使用由display-panes.
这可能吗?
注意:为了清楚起见,我不是指窗口,而是指窗格。谢谢!
当我有一个 tmux 窗口垂直分成两个窗格时,如何生成一个新的第三个水平窗格,该窗格在整个宽度上延伸?
例如,我如何从中获得:
Ctr-b %
+–––––––––+–––––––––+
| | |
| | |
| | |
| | |
| | |
+–––––––––+–––––––––+
Run Code Online (Sandbox Code Playgroud)
到这个?
Ctr-b %
Ctr-b ...怎么办?
+–––––––––+–––––––––+
| | |
| | |
| | |
| | |
| | |
+–––––––––+–––––––––+
| |
| |
+–––––––––––––––––––+
Run Code Online (Sandbox Code Playgroud)
而不是这个?
Ctr-b %
Ctr-b "
+––––––––+––––––––––+
| | |
| | |
| | |
| | |
| | |
| +––––––––––+
| | |
| | |
+––––––––+––––––––––+ …Run Code Online (Sandbox Code Playgroud) 我主要在 mac 上工作,ssh/tmux 连接到 Linux 机器来完成我的工作。我在 Linux 机器上运行了 ssh-agent。我有
set -g update-environment "SSH_AUTH_SOCK SSH_ASKPASS WINDOWID SSH_CONNECTION XAUTHORITY"
在我的.tmux.conf. 但是,每当我重新连接到此会话时,我都必须运行
tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud)
为了$SSH_AUTH_SOCK正确设置新的 tmux 窗口。我宁愿不必这样做。有任何想法吗?
我想我没有很好地解释这一点。这是我在远程机器上打开 shell 的 shell 函数:
sshh () {
tmux -u neww -n ${host} "ssh -Xt ${host} $*"
}
Run Code Online (Sandbox Code Playgroud)
当TMUX运行此ssh命令,$SSH_AUTH_SOCK是没有设置,即使是在我的本地环境设置。如果我使用setenv上面的命令将其放入 tmux 的环境中,则一切正常。我的问题是,为什么我必须运行 setenv 命令?
更多信息:
当我附加到现有会话时,$SSH_AUTH_SOCK未在 tmux 环境(或全局环境)中设置。
% tmux showenv | grep -i auth_sock
-SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud)
如果我手动设置它,事情会起作用:
% …Run Code Online (Sandbox Code Playgroud) tmux有它的控制模式,用 激活-CC,允许终端仿真器控制 tmux。iTerm2 使用这一点非常有效,允许 tmux 窗口显示为单独的 iTerm 窗口。
是否有其他支持控制模式的终端仿真器?我对可能提供此类功能的 Windows 终端仿真器/SSH 客户端特别感兴趣,但 Linux/Unix 的终端仿真器也很有趣。
在我的tmux.conf文件中,我将其配置为打开窗口、命名它们、设置窗格等。等等。
但是,我遇到的一个问题是,如果其中一个窗格启动了一个命令,比如说ls,那么该窗格会在命令完成后(立即)自行关闭。有什么办法可以防止这种行为吗?或者在命令完成后它会降到正常的shell?
我假设我需要在窗格启动时启动一个 shell -> 执行命令,但如果我能弄清楚如何做,我会被诅咒的。我为这个问题搜索了一些谷歌,但没有找到。
谁能帮我设置这个配置?
如果我创建一个新窗格,新窗格应该在与我刚刚所在的窗格相同的工作目录中开始。如果我创建一个新窗口,新窗口应该在主目录(或任何其他全局默认路径)中开始)。
tmux 1.8 可以实现吗?