标签: tmux

如何配置 tmux/iTerm 以在终端选项卡中将会话名称显示为标题?

我开始在 Mac OS X 上使用 tmux 和 iTerm2。目前,我所有的标签都标题为“tmux”(假设它只是显示进程名称),这使得很难找到我想要的标签。如何配置 tmux(或 iTerm)以在选项卡中显示我的 tmux 会话的名称?

iterm tmux macos

7
推荐指数
1
解决办法
4014
查看次数

Vim 猛拉到 tmux 剪贴板

我看到很多关于如何将 vim 复制到系统剪贴板的解释(涉及 xclip for linux 或 pbcopy 或 OSX),但我想猛拉到 tmux 剪贴板。需要明确的是,我想要的是将光标放在一个单词上并点击类似的东西"*yiw,然后用 tmux 跳到另一个窗口(也许是我想为 curl 或 wget 粘贴一个大 URL 的窗口),然后按Ctrl-B ]粘贴(或使用您使用的任何 tmux 前缀键)。感谢任何人都可以提供的帮助。如果这是可能的,那就太棒了。

vim tmux

7
推荐指数
2
解决办法
4838
查看次数

tmux 拆分窗格无法在 Conemu 中正确呈现

我正在尝试在 conemu 中通过 ssh (cygwin) 使用 tmux,并继续遇到以下问题。

我将从一个看起来不错的垂直拆分屏幕开始:

看似实用的分屏

并切换到正确的拆分,按 Enter 几次,然后事情就会开始消失。 破碎的分屏

Conemu 处理 tmux 的方式有问题;如果我在 tmux 之外的 vim 中分屏,这工作正常,但在 tmux 中使用 vim 分屏再次中断(即使拆分是 vim 拆分,而不是 tmux 拆分)。这在 Cygwin 中得到了正确处理。

无论外壳如何,都会发生这种情况。我尝试注释掉我的 ~/.tmux.conf,但问题仍然存在。

cygwin tmux conemu

7
推荐指数
0
解决办法
2397
查看次数

复制文本而不退出复制模式

tmuxcopy-mode提供了向上滚动窗口历史记录、直观地选择文本并将其复制到剪贴板的功能。一旦文本被复制,copy-modetmux 就会退出并返回到插入模式。

很多时候,我想要快速连续地从同一区域复制多段文本。由于 tmuxcopy-mode在每次选择后都会退出,我发现自己一次又一次地滚动回同一页面。

有没有办法防止 tmux执行copy-mode后退出?copy-selection

tmux

7
推荐指数
1
解决办法
1401
查看次数

'set -g' 命令在 tmux 中有什么作用?

set -g <command>例如,我在 tmux 中看到了对

set -g status-right ' #[bg=colour33] Branch #[(git branch)] '
Run Code Online (Sandbox Code Playgroud)

我已经用谷歌搜索并查看了man tmuxinfo tmux但也找不到任何信息。

set -g什么?
它是否以与 vim 使用的方式相同的方式设置变量:set <variable>
如果是这样,它有-g什么作用?

tmux

7
推荐指数
1
解决办法
2564
查看次数

Tmux 键绑定到左或右交换窗格

我知道:swap-pane -U并且:swap-pane -D会向上或向下交换窗格,但我想要一个键绑定来左右交换窗格。

我能想到的唯一方法是首先确定当前窗格的窗格索引,然后运行:select-pane -Ror-L并确定其索引,最后运行:swap-pane -s (first pane index) -t (second pane index).

我只是不确定如何在其中执行此操作.tmux.conf- 是否可以使用在另一个命令中返回某些内容的子命令?

例如,这样的事情:

bind-key -n C-{ swap-pane -s **get current pane ID** -t **get pane ID of 'select-pane -L'**

bind-key -n C-} swap-pane -s **get current pane ID** -t **get pane ID of 'select-pane -R'**

tmux

7
推荐指数
1
解决办法
5098
查看次数

tmux 分成 4 个窗格

我正在使用 tmux 2.1。我已经用谷歌搜索了这个,似乎我可以使用以下命令将一个窗口拆分为多个窗格:

tmux new-session \; split-window \; split-window -h \; split-window -v
Run Code Online (Sandbox Code Playgroud)

(不知道为什么 \; 是需要的,但它只适用于它)

我的问题是我想要的布局如下:

在此处输入图片说明

我可以实现这一点的唯一方法是水平创建 3 个窗口,然后返回中间窗口,然后拆分该窗口,我只能手动执行此操作。

有没有办法通过命令来做到这一点?谢谢!

linux ubuntu tmux

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

如何在没有root访问权限的情况下在本地安装tmux?

我想使用 yum 在 redhat 6 机器上安装 tmux,但是这失败了,因为我没有 root 访问权限。关于如何在没有 root 访问权限的情况下在本地安装 tmux 的任何想法?

local tmux installation

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

在没有“嵌套”会话的情况下重新启动 zsh 进程

我想重新启动我的 zsh 会话,因为我保留了一个持久的 tmux 会话并且~/.zshrc经常更改并执行source ~/.zshrc. 但是我意识到随着时间的推移这会变慢(例如for i inseq 50; do source ~/.zshrc; echo "a"; done开始快速打印 'a' 并且很快变慢)。

我在这里阅读了重新启动 zsh 的建议,建议只需运行zshzsh -l. 但是,如果我这样做,我会创建一个“嵌套”zsh 会话,如果我理解正确的话。我的意思是:

# Simulate slowed zsh session
for i in `seq 50`; do source ~/.zshrc; echo "a"; done
# use zsh to make it faster "child" zsh
zsh
# confirm fast
source ~/.zshrc; # fast
# revert back to "parent" zsh
exit
# confirm old slow …
Run Code Online (Sandbox Code Playgroud)

terminal bash zsh shell tmux

7
推荐指数
1
解决办法
7029
查看次数

作为 systemd 服务运行两个 tmux 会话

我可以成功启动/停止创建 tmux 会话的服务。服务如下:
test1.service:

[Unit]
Description=First test service

[Service]
Type=forking
User=lancer
ExecStart=/usr/bin/tmux new-session -s test1 -d
ExecStop=/usr/bin/tmux kill-session -t test1

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

$ sudo systemctl start test1.service

$ sudo systemctl stop test1.service

都成功了。现在我想要另一个 tmux 会话,我可以从另一个服务控制它。所以我创建了这个 test2.service:

    [Unit]
    Description=Second test service
    
    [Service]
    Type=forking
    User=lancer
    ExecStart=/usr/bin/tmux new-session -s test2 -d
    ExecStop=/usr/bin/tmux kill-session -t test2
    
    [Install]
    WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

问题:两者中的任何一个都可以单独工作。我可以通过以下方式查看相应的 tmux 会话:
$ tmux ls
如果我启动其他服务,则不会发生任何情况。我只有之前的 tmux 会话。有人可以帮忙吗?

linux tmux systemd

7
推荐指数
2
解决办法
8387
查看次数

标签 统计

tmux ×10

linux ×2

bash ×1

conemu ×1

cygwin ×1

installation ×1

iterm ×1

local ×1

macos ×1

shell ×1

systemd ×1

terminal ×1

ubuntu ×1

vim ×1

zsh ×1