我一直在玩 tmux,我很喜欢它。但是,在其中运行 vim 时存在一个烦人的问题。
箭头键以某种方式重新映射,但仅在某些时候,例如在启动 Command-T 时,如果我尝试向下滚动文件列表,则命令将被取消并且我将进入插入模式,这取决于箭头键我按下了 A、B、C 或 D。
例如,如果我使用箭头在缓冲区中移动,它们就可以正常工作。
有任何想法吗?
谢谢!
我一直在搞 TMUX,我喜欢配置能力。
底部的窗口列表让我认为在 Irssi 中更改窗口的相同快捷方式应该在 TMUX 中工作,但它没有。
所以目前,我必须按 Cb 然后按一个数字才能打开该窗口。我很高兴将 Cb 作为我的普通前缀,(例如,对于 Cb ?寻求帮助,Cb:命令条目)但是如果我可以同时使用 C-b+Numkey 和Alt+NumKey来更改制表符,那就太酷了。
如果它可以检测窗口是否显示 Irssi,然后忽略Alt+ NumKey,这样我仍然可以在 Irssi 窗口之间切换,那就更酷了。
我最近从 gnu-screen 转换为 tmux。我正在为一件事而苦苦挣扎。
我的工作流程是这样的。我在任何时间点为我正在执行的每个“任务”创建一个会话。这样我就可以通过附加到该会话来处理我正在执行的 N 个任务中的任何一个。
我能用 screen 做而不能用 tmux 做的事情如下:在不同的窗口中打开/附加同一会话的多个实例并同时处理它们。例如,如果我正在编辑 3 个不同的文件,我可以让它们在同一个会话的窗格 1、2 和 3 中打开,并且在我面前打开这 3 个文件的同一个会话的每个实例。
我一直无法将 tmux 扭转为让我这样做。每当我附加到 tmux 中现有的附加会话时,它都会复制我在另一个会话上执行的操作。
我希望我已经很好地解释了这一点。如果没有,请告诉我。
我可以在分离的 tmux 会话中运行命令:
tmux new -d 'while true; do date; sleep 1; done'
Run Code Online (Sandbox Code Playgroud)
我可以在附加的 tmux 会话中运行命令并使用以下命令记录控制台输出:
tmux new 'while true; do date; sleep 1; done' \; pipe-pane 'bzip2 > /tmp/log.bz2'
Run Code Online (Sandbox Code Playgroud)
但是如何在分离的 tmux 会话中运行命令并记录控制台输出?以下在分离的 tmux 会话中运行命令,但无法记录输出:
tmux new -d 'while true; do date; sleep 1; done' \; pipe-pane 'bzip2 > /tmp/log.bz2'
Run Code Online (Sandbox Code Playgroud)
我能够得到的最接近的是以下内容,它在非分离的 tmux 中启动命令,开始记录,然后分离:
tmux new 'while true; do date; sleep 1; done' pipe-pane 'bzip2 > /tmp/log.bz2' \; detach
Run Code Online (Sandbox Code Playgroud)
这有效,但在以下之后会在控制台上打印以下乱码:
^[[?62;9;c
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
使用screen, 在 80 列宽的终端中,我可以执行以下操作:
for i in $(seq 81); do echo -n "m"; done; echo
Run Code Online (Sandbox Code Playgroud)
然后将窗口的大小调整得更宽一些,最后一个“m”跳到我在调整窗口大小之前运行命令的位置。我真的很喜欢tmux但我错过了这个可爱的功能screen......有什么办法可以tmux做到这一点(recompute-width我还没有找到一些隐藏的命令)?
编辑:2013-07-24
截至 2013 年 2 月,tmux 支持回流!
这是提交。
我想在我的tmux状态行中显示当前时间。我得到了:
$ tmux set status-right '"#22T" %H:%M:%S %d-%b-%y'
Run Code Online (Sandbox Code Playgroud)
这确实改变了状态行中的时间以包括秒。但是,状态行仅在“发生某些事情”时才会更新:我切换窗口、切换窗格等。如何配置 tmux 以每秒更新状态行,以便我可以运行时钟?
我正在使用 tmux 并且观察到一种奇怪的行为。不时发生当我在键盘上按“n”时,焦点切换到 tmux 控件并显示消息“不在模式中”。
我想在某个时候我触发了一些事情发生。
它仅在一个窗格中的一个会话中发生(编号 5)。即使我关闭该窗格,“新窗格 5”也会采用该行为。如果我杀死了除 4 个窗格之外的所有窗格,行为就会消失,但只要我有 5 个窗格就会返回。
这可能是一些设置混淆。
如何找到调试信息以进一步调查?
当我尝试从 tmux 启动 Sublime Text 或 SourceTree 时出现此错误:
$ subl
Unable to launch Sublime Text 2
$ stree
Unable to open SourceTree
Run Code Online (Sandbox Code Playgroud)
似乎我也无法打开 os x 应用程序:
$ open MPlayerX.app
LSOpenURLsWithRole() failed with error -10810 for the file /Applications/MPlayerX.app.
Run Code Online (Sandbox Code Playgroud)
我正在使用 Yosemite OS X 10.10 (14A388a)、带有 zsh、tmux 1.0a 的 iTerm 2。使用 bash 有同样的问题。知道发生了什么吗?
每次我尝试zsh在tmux它内部启动时都会崩溃 wwith
zsh-newuser-install: startup files exist, aborting
Run Code Online (Sandbox Code Playgroud)
昨天晚上它完美无缺,今天早上突然没有任何效果......
我用这一行作为第一个开始 tmux .zshrc:
if [ "$TMUX" = "" ]; then tmux; fi
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的zshrc文件:https :
//github.com/Richard87/oh-my-zsh/blob/master/templates/zshrc.zsh-template
它突然又开始工作了......我不知道发生了什么变化,或者出了什么问题......从头开始,它再次停止工作
在同一台计算机上,它适用于 root 用户,但不适用于我的主用户(.zshrc 文件完全相同,唯一不同的是我自己的用户有一个自定义的 tmux 配置文件:
# set Zsh as your default Tmux shell
set-option -g default-shell /bin/zsh
# Tmux should be pretty, we need 256 color for that
set -g default-terminal "screen-256color"
# Tmux uses a 'control key', let's set it to 'Ctrl-a' …Run Code Online (Sandbox Code Playgroud)