Questions tagged «tmux»

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

2
tmux的两个前缀命令?
我们有一个tmux会话,需要几个人连接。有些人喜欢Ctrl+ a前缀快捷方式,有些人则喜欢默认Ctrl+ b快捷方式。我可以在.tmux.conf文件中放什么东西,以使两个快捷方式都能正常工作? 看来标准 set -g prefix C-a 命令将取消设置Ctrl+ b快捷键。 我也尝试过这个: set -g prefix C-a set -g prefix C-b 但是第二行然后将Ctrl+a
17 tmux 

4
在tmux中少用Ctrl + B
我在中使用Ctrl+B命令前缀tmux,但是与Ctrl+Bin 冲突less,后者用于向上滚动文件。 我该如何工作?我是否必须在中设置其他命令前缀tmux?如果可以避免的话,我真的不想学习新的键绑定。
17 tmux 

1
如何使用壳管从tmux“剪贴板”复制/复制?
在外壳环境中工作时,我经常遇到需要复制“中间管道输出”的情况(例如,从/到已经运行的编辑器,到其他外壳,其他机器等)。 在窗口环境中,通常通过系统剪贴板来解决此问题的简单(通用)方法,例如: X11:... | xsel -i/xsel -o | ... OS X:... | pbcopy/pbpaste | ... 使用tmux复制/粘贴工具如何获得类似的便捷行为?

2
如何在tmux中绑定Shift + {Left,Right}?
我正在tmux从中查看screen,并且在配置(高度可配置!)tmux键绑定时遇到了麻烦。 问题是,.screenrc我有 bindkey ^[[d prev bindkey ^[[c next bindkey ^[[a title bindkey ^[[b screen 1 并且绑定有效(它们最初来自rxvt-tabbedex)。 但是tmux显然没有办法将命令绑定到ShiftLeft/ Right组合。请证明我错了。

3
新的tmux会话不提供bashrc文件
摘要 当我创建一个新的tmux会话时,我的提示从默认的bash配置中拉出,我必须手动运行source ~/.bashrc我的自定义提示。 分析 我正在使用RHEL 7机器。经过一段时间的bash更新后,我开始注意到这种行为,但是直到现在才开始提出这个问题(并且不确定是哪个更新开始发生)。 例如,我已自定义提示,如下所示: [user@hostname ~]$ 每当我开始一个新的tmux会话时,它都会使用bash的默认值: -sh-4.2$ 快速运行source ~/.bashrc总是可以解决该问题,但是每次我想修复一些小问题时都必须这样做,这很烦人。关于如何使tmux再次自动执行此操作的任何想法? 如果需要更多信息,我很乐意提供。 tmux.conf 作为参考,我在tmux.conf下面提供了我的文件,尽管这几乎不能称为“自定义”。 setw -g mode-keys vi # reload tmux.conf bind r source-file ~/.tmux.conf \; display-message " ✱ ~/.tmux.conf is reloaded"
17 bash  tmux 

3
tmux复制模式搜索突出显示
有什么方法可以在tmux复制模式下突出显示搜索到的术语? 以下是我的tmux配置: # remap prefix to Control + a set -g prefix C-a unbind C-b bind C-a send-prefix bind a send-prefix # force a reload of the config file unbind r bind r source-file ~/.tmux.conf # set window start from 1 set -g base-index 1 # scrollback buffer n lines …
16 tmux  colors 

2
我可以在不附加的情况下查看tmux会话中发生了什么吗?
我经常会tmux用来启动一个会运行一段时间的任务。我将定期返回并使用对其进行检查tmux -a,然后断开连接,如果它仍未完成,请稍后再检查。 有没有办法在不完全附加的情况下仅查看会话中发生的情况的简要快照?我正在寻找类似理论上tail在会话上进行操作以获取输出的最后一部分的方法(但如果我可以避免使用输出副本更好地创建另一个文件的话) 也许附加并立即将其分离也会起作用。我正在尝试保存击键,也许这样的命令可以远程执行, 即ssh root@server tmux --tail?
16 tmux 

4
在tmux和剪贴板之间复制/粘贴文本选择
我正在运行最新版本的tmux(来自git存储库)和xclip(0.12),并且我希望能够使用类似Emacs的键盘绑定在中的文本周围移动copy-mode,将(M-w)选择复制到剪贴板,以及粘贴(C-y从/)复制到复制缓冲区到剪贴板。 到目前为止,我已经能够使用粘贴文本C-y,并copy-mode使用类似Emacs的键盘绑定来移动文本,但是我仍然无法从tmux缓冲区复制文本(例如copy-mode) 我发现此线程可将整个缓冲区复制到剪贴板(反之亦然),但似乎不适用于我。 另外,在tmux-users邮件列表中,我被告知,最新版本的tmux(仅在git repo中)提供了一个名为的命令copy-pipe。手册页说明了有关此命令的以下内容: 中的一个命令接受一个参数copy-pipe,它复制选择并将其通过管道传递给命令。例如,以下将绑定“ C-q”以将选择内容复制到/ tmp以及粘贴缓冲区中: bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out" 看起来copy-pipe应该部分地用于将选择传递给另一个命令。在此说明和命令中似乎也有一些错别字(什么是temacs-copy?) 无论哪种方式,我想做的是: 复制中: 进入复印模式 移动到我想要使用Emacs导航命令(即复制的文本C-f,C-b,M-f,M-b,C-a,C-e等来移动光标)。没有任何前缀。 选定的文本复制到与剪贴板:M-w(无前缀要么) 贴上: 我希望能够键入C-y(而不必输入copy-mode)以将文本粘贴到终端中(也没有前缀) 我尝试了以下方法来运气不佳: bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard" 但是,粘贴效果很好: bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer" 奇怪的是,我知道xclip …

2
有没有办法找出为什么tmux崩溃了
我正在尝试从使用VNC转向tmux。我的tmux至少每周至少崩溃一次,我不知道为什么会发生这种情况。VNC很少崩溃,因此每周崩溃对我完全切换非常不利。 有没有办法找出tmux崩溃的原因?我的.tmux.conf很简单 #Don't show the green ribbon below set -g status off #Select panes by mouse click set -g mouse-select-pane on #enable scrolling by mouse in tmux set-window-option -g mode-mouse on #enable resize of pane by mouse set -g mouse-resize-pane on 我使用终端模式设置为256色的iterm2,并大量使用vim插件和colorschemes(Lid,nerdtree,tagbar,indentLine,molokai等)。要调整终端颜色,我在.vimrc中进行了以下设置,但是我不确定这些是否与tmux崩溃有关 set t_ut= set t_Co=256 另外,我在vim中启用了鼠标 set mouse=a 有没有办法找到为什么我的tmux会话崩溃的原因? …
15 tmux 

3
如何将已经转发的ssh密钥转发到tmux?
我正在从存储密钥的计算机通过SSH连接,然后转发到第二台计算机,然后尝试从tmux中使用密钥。输入tmux时,我似乎“松开”了转发。如何“再次转发”以便我可以在tmux中使用我的密钥? $ ssh [server] -o ForwardAgent=yes $ git pull # Succeeds. $ /bin/bash $ git pull # Still succeeds, despite new shell. $ exit $ tmux attach $ git pull # Permission denied (publickey)
15 shell  ssh  tmux 


4
在两个窗口之间镜像窗格
单个tmux会话的两个不同窗口中是否可能出现相同的窗格? 通常,我在主窗口中有一个水平拆分,顶部窗格中有vim(大约是终端高度的80-90%),底部窗格中有一个命令行,运行我正在处理的程序。由于底部窗口非常小,所以我经常看不到错误输出,并且使用tmux的键盘快捷键进行向后滚动变得很烦人。我希望将第二个窗口附加到同一窗格,以便在需要查看更多错误输出时,可以快速切换到第二个窗口而无需处理回滚。这可能吗? (我想一个后备方法是使用类似tee的方法将stdout写入日志文件,并在第二个窗口中尾随它。我希望这不是必需的)
14 tmux 

2
tmux等效于GNU屏幕的:wrap模式
我是一位长期尝试使用tmux的屏幕用户。我使用的一个屏幕功能是能够截断Ctrla :set wrap输出。当拖尾日志文件或跟随几行几百个字符的编译会话时,此功能特别有用。 我已经阅读了该man页面,并在Google上进行了广泛搜索,无法找到等效的命令,也无法找到使用Shell命令的可行方法。我能想到的最接近的是less -S将所有内容传送到管道,并减少进入“跟随”模式。
14 tmux 

4
从ncurses应用程序调用的脚本输出中的转义序列
我目前正在我的家庭服务器上的tmux会话中将mcabber作为我的Jabber客户端(使用ncurses)运行。我在本地将iTerm2作为终端仿真器运行,它支持通过字符转义序列触发咆哮通知。 注意:echo此问题中的所有内容都类似printf %b,或echo -e在bash和GNU中工作echo。 例如,echo "\e]9;foobar\007"使iTerm2发送带有文本“ foobar”的Growl消息。 但是,在tmux会话中,转义序列会被吃掉。因此,\Ptmux可以像这样使用专有字符转义序列: echo "\ePtmux;\e\e]9;foobar\007\e\\" 这会在tmux会话中触发咆哮消息。 但是,当我在收到新消息时触发的mcabber事件脚本中使用此命令时,不会触发任何通知,就像将回声发送到错误的终端一样。 我想这与触发脚本的mcabber有关,它是一个ncurses应用程序,因此我普通bash脚本的输出丢失了,而iTerm 2却看不到它。 在回应发现的一些想法之前,我还尝试打电话给打sm而未成功 tput smcup echo "\ePtmux;\e\e]9;$FROM: $MSG\007\e\\" tput rmcup 我想这不起作用,因为问题不是切换回“真实终端窗口”,而是将输出直接定向到ncurses窗口。 关于这个有什么想法吗?


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.