2012-10-14 77 views
4

我只更新到TMUX 1.7,并在手册页存在一种使用movew一个新的选项:-r它说TMUX 1.7移动窗口

move-window [-rdk] [-s src-window] [-t dst-window] (alias: movew) This is similar to link-window, except the window at src-window is moved to dst-window. With -r, all windows in the session are renumbered in sequential order, respecting the base-index option.

如果我有会话3个窗口:1 2 3我尝试这个命令从窗口1:

prefix : movew -r -t 4 

它给人的错误:

session not found: 4

待办事项esn't这只是移动窗口1至4的窗口,并重新命名的窗口?我并不想将其移动到一个新的会话,只是在同一个新窗口。

回答

6

该文档没有明确说明这一点,但是当您使用-r时,-t的参数被解释为会话说明符,而不是窗口说明符。

因此,move-window -r -t 4告诉tmux重新编号名称为/匹配字符串“4”的会话中的所有窗口。

这听起来像你可以完成你想要*有两个命令(假设你有base-index设置为1)内容:

move-window -t 4 ; move-window -r 

你可以命令序列结合的关键,但你需要转义分号(使第二个命令不是简单地立即初始绑定命令后执行):

bind-key : move-window -t 4 \; move-window -r 

另外,如果你平时维护窗口号的“无缝”序列(例如,你有启用renumber-windows选项),然后可以更换4:和该命令对将任何数量的窗口(不只是3个或更少)的工作::作为目标窗口说明符的意思是“在当前会话中的第一个未使用的窗口号“(即4如果你已经有了窗口1-3)。


*如果我理解正确的话,你想将一组窗口的像1:A,2:B,3:C为1:B,2:C,3:A(即移动窗口#1(“A”)至年底,并重新编号他们都让你再有1-3而不是2-4)。

+0

非常感谢克里斯。我没有正确理解手册页 - 我认为这是一个有点混乱,上面说的方式。你的回答非常明确:) – Edouard