Skip to content

Commit 087fc70

Browse files
committed
modified: _posts/2016-09-23-tmux-workspace-setup.md
1 parent d8bf8d7 commit 087fc70

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

_posts/2016-09-23-tmux-workspace-setup.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ split-window -v '~/bin/goproxy.sh'
9494
* `-v`(vertical)表示垂直分隔。
9595
* 同样地,后面跟的是新打开的窗格要执行的命令。
9696

97+
# 窗格间控制
98+
99+
如果你有很多窗格,它们的分工肯定是不同的。那么常常会有从一个窗格控制另一个窗格的需求。
100+
比如当前窗格是一个 Vim,嗯,比如 Harttle 在写代码。
101+
然后右侧是一个用来编译的 Shell,它只是重复地执行同一个编译命令来看结果。
102+
103+
这时,就可以设置一个 tmux 快捷键,向另一个窗格发送命令:
104+
105+
```tmux
106+
bind-key p send-keys -t! C-p Enter
107+
```
108+
109+
`-t` 表示要指定一个窗格,`!`上一个激活的窗格;
110+
`C-p`[Bash 快捷键][bash],表示调出上一个命令,然后按下 `Enter`
111+
112+
`-t` 还有很多种指定方式,比如最右边的、当前窗格左边的、下一个,甚至可以指定窗格的编号。
113+
可以 `man tmux` 来查看详细帮助文档。
114+
如果你有 [固定的 tmux 工作区][tmux-workspace],用 `-t` 指定窗格编号就很方便了,
115+
甚至可以为每个工作区设置不同的快捷键。
116+
97117
# 禁止命令结束关闭窗格
98118

99119
注意在`new-session``split-window`时指定的命令结束后,窗格会自动关闭。
@@ -116,3 +136,5 @@ send-keys -t servers.0 redis-server Enter
116136
`-t`参数指定了键盘指令发往名为`servers`的会话,而`0`表示发往该会话的第一个窗格。
117137

118138
[tmux-startup]: /2015/11/06/tmux-startup.html
139+
[bash]: /2015/11/09/bash-shortcuts.html
140+
[tmux-workspace]: /2017/11/24/tmux-workspace-plugin.html

0 commit comments

Comments
 (0)