有没有办法在使用 tmux 时将一些独特的命令存储在中央位置?
我只是想将一些容易忘记的命令存储在一个中心位置,这样我就可以在 tmux 中跨窗口或窗格使用该命令。
CTRL + R - 使我只能从该特定窗格或窗口访问过去的命令。另外,如果我重新启动或关闭 tmux 会话,我往往会丢失历史记录。
答案1
我假设你的 shell 是bash
,但这真的不应该那么重要。
Ctrl+R和历史搜索通常是 shell 功能,而不是来自tmux
.大多数 shell 应该在退出时自动保存历史记录。看这个链接有关如何bash
处理历史记录的一些信息。它解释说:
默认情况下,Bash 仅在退出时更新其历史记录,并用新版本覆盖现有历史记录。这会阻止您保留完整的历史记录,原因有两个:
- 如果用户多次登录,则覆盖将确保只有最后退出的 shell 才会保存其历史记录。
- 如果您的 shell 异常终止 - 例如由于网络问题、防火墙更改或因为它被终止 - 则不会写入任何历史记录。
在下一行中,给出(希望)如何防止这种情况的答案:
为了解决第一个问题,我们设置了 shell 选项
histappend
,该选项会附加所有新的历史记录行,并确保多个登录不会覆盖彼此的历史记录。
其他一些 shell 句柄有其他处理方法。例如,我选择的fish
shell 有一个history merge
命令“立即合并其他会话的历史更改”。因此,如果您在多个窗格中运行fish
,并且需要来自当前窗格中不同窗格的命令,那么history merge
就可以解决这个问题。