Questions tagged «tmux»

tmux是一个终端多路复用器:它使多个终端(或窗口)能够在单个屏幕上创建,访问和控制,每个终端(或窗口)运行一个单独的程序。tmux可能会与屏幕分离,并继续在后台运行,然后再重新连接。

4
Shift-arrow在tmux中的emacs中不起作用
我最近开始使用tmux(以前是屏幕用户),除了一个小问题,我很喜欢它。我在tmux会话中使用emacs,并且习惯于使用Shift-箭头键在emacs窗口(而不是tmux窗口)之间移动。在tmux中运行时,这些绑定似乎完全停止工作(就像它们根本没有注册到emacs一样)。如果我退出tmux并仅在我的shell中运行emacs,它们就可以正常工作。 我正在使用iTerm2,将其安装到Linux机器中,并在其中运行tmux / emacs。我在.emacs中设置了Shift箭头键绑定,如下所示: (global-set-key "\M-[1;2A" 'windmove-up) (global-set-key "\M-[1;2B" 'windmove-down) (global-set-key "\M-[1;2C" 'windmove-right) (global-set-key "\M-[1;2D" 'windmove-left) 当不在tmux中运行时,我可以通过在emacs中执行Cq然后按下键序列,来确认那些是按Shift键组合的正确字符序列。在tmux中,即使这样也不起作用,因为它似乎看不到Shift箭头按键的任何输入(它只是位于Cq提示符下)。 查看tmux的键绑定,我认为Shift箭头键没有任何绑定,即使是Shift键,它们也只会在输入前缀(在我的情况下绑定到Co)之后才注册。 关于如何使Shift键在tmux中再次起作用的任何想法?
26 emacs  tmux 

2
如何获得与gnome-terminal,tmux和vim配合使用的日晒色彩方案?
围绕此有很多问题,但这是因为变量太多了。在进行这项工作之前,我不得不整理许多站点的说明。 首先,我无法轻松地在gnome终端中设置16种日光色定义(我手动/单击鼠标只是为了意识到我没有正确的顺序/映射来完成此操作)。一旦修好了,我就继续前进... 然后我将日光灯的颜色按vi-ish的方式工作,但是在某些高亮显示中出现了一些奇怪的黑色背景。修复问题后,我继续前进... 然后我意识到,一旦在tmux中运行,vim就会诉诉winky。这已经引起了广泛的争论,但是很少有答案(大多数都说要设置TERM为xterm-256colors)对我有用。我最终也解决了这个问题。 Solarized是一个非常不错的调色板(尽管我喜欢最深的对比度,但我将最暗的基础颜色变暗了,而最亮的颜色却变亮了,但在校准过的屏幕上发现tmux的“白色”太黄了-在典型的未经校准的笔记本电脑屏幕上,可能还不错)通常太蓝了!),所以我要发布此问题及其答案,以分享我的学习成果。

5
tmux启动后立即退出
我正在尝试开始,tmux但是甚至无法运行它。启动后立即退出,类似于此问题。 它既没有使用.tmux.conf,也出现(以下示例).tmux.conf: set -g default-shell /usr/bin/zsh set -g status on set -g history-limit 10000000 set -g prefix C-t set -g status-bg green setw -g window-status-current-bg cyan setw -g window-status-current-attr bold set -g status-right '#7H | %F %s' bind-key C-t last-window setw -g monitor-activity on set -g visual-activity on 如建议new-session的.tmux.conf那样在的开头添加一些地方无济于事,这在我tmux new …
24 tmux 

2
创建可启动的tmux配置?
我发现自己经常通过以下方式做同样的事情tmux: cd 到给定目录。 tmux 将窗口重命名为我在做什么。 垂直分割窗口50%。 在左侧窗口中启动一个进程。 在右侧窗口中启动另一个过程。 利润。 有没有一种方法可以自动启动所有这些命令,以便我可以运行单个命令并获取要查找的窗口?
24 tmux 

6
通过SSH连接后如何立即运行脚本?
我开始问这个问题,但是在我打开它时就回答了。我将发布此问题,并提出我的解决方案,并留给其他可能的解决方案。 <背景故事> 我是tmux和vim用户。我喜欢远程vim的工作,因为当Flash电影给我带来内核恐慌时,我不必担心Ubuntu开发机器的麻烦。运行tmux意味着重新启动后打开的文件正在等待我,并且我可以从中断的地方继续进行。像这样连接时,我在tmux会话中运行vim时遇到了问题: ssh example.com -t 'tmux attach' UTF-8问题会突然出现,而通常在脱壳并手动附加到tmux会话时不会出现。 </背景故事> 所以我想要一种可重用的方法来启动ssh登录,这不会影响我在开发环境中可能需要的任何其他配置.zshrc(或者.bashrc如果您仍然使用bash,则在您的配置中),而不会当我偶尔在上述机器上本地工作时出现。


4
tmux新窗格将主目录作为默认目录,而不是先前的目录
当我在带有的窗格中按Ctrl+ "(创建新窗格)时PWD /tmp,新窗格将作为我的主文件夹启动~。 我看着/unix//a/109255/72471,它帮助我解决了有关Windows的相同问题。 但是,我无法split-window通过插入来解决此问题 bind " split-window -c "#{pane_current_path}" 进入我的~/.tmux.conf。 我正在使用tmux 1.9a,因此不想为此处所述的较旧版本提供一个凌乱的解决方案(无论如何在我的情况下不起作用): bind '"' set default-path "" \; split-window -v \; set -u default-path tmux创建新窗格时,如何知道将默认目录设置为窗格的当前路径?
24 tmux 


1
tmux在终止窗口上禁用确认提示
我浏览了手册页,所以这可能是徒劳的。我对kill-window(Ctrl-b &或Ctrl-b kill-window默认设置)的确认消息感到恼火。这总是给出: 确认“杀死窗口”?(是/否) 就我个人而言,我基本上绝不会Ctrl-b &无意中打。有什么方法可以禁用此提示,或者一般在tmux中提示吗?
23 tmux 

2
tmux的无限历史记录
在.tmux.conf文件中,您可以使用以下方式设置窗口历史记录: set -g history-limit 4096 有没有一种方法可以为每个窗口设置无限的历史记录?
23 tmux 

5
与SSH断开连接时,tmux会话被杀死
这个问题是从Server Fault 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 5年前。 摘要:我试图弄清楚为什么我从ssh断开连接后,tmux会话会死掉 详细资料: 我在Arch Linux系统上安装了tmux。当我启动tmux会话时,我可以从中分离出来,然后在ssh会话处于活动状态时再次附加。但是,如果我结束ssh会话,则tmux会话将被杀死。 我知道这不是正常的行为,因为即使ssh会话已结束,我也有其他系统在其中tmux会话继续运行,并且可以在建立新的ssh连接后附加到tmux会话。有问题的系统和可以正常工作的系统具有非常相似的配置,因此我不确定要检查什么。 我正在运行tmux 1.9a版本。有问题(我具有root用户访问权限)的系统具有3.17.4-1的Linux内核版本,而工作正常的系统具有3.16.4-1-ARCH的内核(我没有root权限)系统)。我怀疑内核版本是否是问题的根源,那只是我注意到的一个区别。 我想问一下是否有人遇到过类似的问题并知道可能的解决方案。 导致问题的确切步骤是: SSH到机器 运行tmux以启动tmux ctrl-B D 分离(此时我可以重新连接 tmux attach 关闭ssh会话(此时tmux会话已终止,当我以root身份登录到另一个终端时,已经能够观察到此情况) 与SSH重新连接并运行tmux attach,我得到消息no sessions和运行tmux ls返回failed to connect to server: Connection refused。这是有道理的,因为服务未运行。对我来说没有意义的是为什么当我从ssh会话断开连接时,它在步骤4中被杀死。 跟踪数据: 作为对其中一项评论的回应,我使用了strace来查看什么系统调用了tmux服务器进程。当我退出ssh会话(通过键入exit或使用ctrl-d)时,tmux进程被杀死了。这是strace输出的最后一部分。 poll([{fd=4, events=POLLIN}, {fd=11, events=POLLIN}, {fd=6, events=POLLIN}], 3, 424) = ? ERESTART_RESTARTBLOCK (Interrupted by signal) …
23 tmux  sshd 

2
在.tmux.conf中复制(到X剪贴板)快捷方式
为了将文本复制到tmux中的X剪贴板,我目前要做的是: 进入选择模式 prefix[ 开始选择space(使用mode-keys vibtw) 选择文本并按 enter 使用以下命令将tmux缓冲区复制到X剪贴板 prefixctrl+c (我有一个映射为 bind C-c run "tmux show-buffer | xclip -selection clipboard -i" 我试图通过为选择模式进行映射来消除其中的一些步骤。我试过了: bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i" 这给了我和错误: .. usage: bind-key [-cnr] [-t key-table] key command [arguments] (我无法复制该错误) 我怎样才能解决这个问题? 编辑:我已经意识到我可以像常规选择一样使用鼠标选择并复制到tmux缓冲区(前3个步骤)(尽管突出显示不会持续,它仍然会选择文本),然后使用以下绑定复制到x剪贴板: bind-key -n C-c run …

2
是否有tmux捷径可以只读?
我已经使用屏幕多年了,以确保断开/崩溃后任何远程工作都可以安全打开。实际上,当然,即使在本地工作,我也使用屏幕。 最近,由于以下方面的优点,我的要求已经发展到我转向tmux的阶段: tmux attach -r 以只读模式(-r)附加到我自己的会话,意味着我不必担心意外: 在IRC中粘贴垃圾行 停止重要的编译/部署过程 以全视图方式输入路人的密码 当然,问题在于我必须打开一个会话,然后按Cb + d进行分离,然后使用-r标志将其重新打开以使其变为只读状态。然后,当我偶尔想加入IRC对话,中断任务或其他任何事情时,我必须再次分离并重新正常连接。 有谁知道一种使键绑定在模式之间切换的方法吗?

4
将选择内容复制到tmux中的剪贴板
如果在macOS的iTerm2中的tmux中用鼠标选择文本,则会将所选文本复制到剪贴板中。我不必单击任何其他按钮-只需选择所需的文本即可。 我已经在macOS上的terminal.app中测试了tmux,但在那里不起作用-我必须点击y将所选内容复制到剪贴板。 我以为有一个鼠标绑定(MouseOnSelection类似MouseDown1Pane),但是我在Web和上找不到任何有用的东西man tmux。 我想知道是否有办法在Ubuntu 16.10上具有类似的行为-最好在Gnome终端中。 我的tmux dotfiles在这里可用(链接)。
22 tmux  clipboard 

4
重新排列tmux窗口
如何有效地重新排列tmux中的窗口?例如,具有以下窗口: 0:zsh 1:elinks 2:mutt 3:irssi 4:emacs 5:rss 6:htop 我要怎么做rss才能在elinks和之间移动mutt,最后得到: 0:zsh 1:elinks 2:rss 3:mutt 4:irssi 5:emacs 6:htop 我知道如何使用move-window将窗口移动到尚未使用的索引,并且我可以使用其中的一系列来实现此目的,但是显然,这很繁琐。
21 tmux 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.