当我在 OSX 中使用终端时,我经常使用⌘+K来清除屏幕并回滚缓冲区。它已经深入我的肌肉记忆中了。
我开始摆弄 tmux,一个抱怨是⌘+K会清除整个屏幕、窗格和所有内容。我希望它只影响焦点窗格。
我能以某种方式配置这个行为吗?
答案1
配置iTerm2发送清除命令
首选项 -> 按键 -> +(添加新的全局快捷键)
- 键盘快捷键:⌘+k
- 操作:发送文本
- 价值:
清除\n
或者配置 iTerm2 以有效地将 ⌘+k 映射到 ctrl+l
- 键盘快捷键:⌘+k
- 动作:发送十六进制代码
- 价值:
0x0c
这样你就不会看到文本闪烁,并且清除命令不会污染你的历史记录。
答案2
您可以在+之后使用prefix+来重新绘制 tmux 窗口。r⌘K
如果您能改掉这个习惯,每个窗格中的正常ctrl+都可以正常工作。l
答案3
bind -n C-k send-keys -R \; send-keys C-l \; clear-history
来自这里
向他致敬。这对我来说就像Cmd+k
在终端仿真器上一样有效,并且在使用 iTerm2 的 macOS 10.12.5 上对我有效。
答案4
您可以在您的中添加以下几行.tmux.conf
:
# clear the current pane
bind -n C-k send-keys C-l \; clear-history
然后重新加载您的 tmux 配置。现在您可以使用绑定键+k
(例如:Ctrl+ b, k)清除当前窗格。
我不知道 OSX 的语法,但我猜你可以轻松地调整这一行。