Answers:
历史限制是在创建窗格时固定的窗格属性,不能为现有窗格更改。该值来自history-limit
会话选项(默认值为2000)。
要创建具有其他值的窗格,您需要history-limit
在创建窗格之前设置适当的选项。
要建立其他默认值,您可以在.tmux.conf
文件中添加以下内容:
set-option -g history-limit 3000
注意:请小心设置一个很大的默认值,如果创建许多窗格,它很容易消耗大量RAM。
对于现有会话中的新窗格(或新窗口中的初始窗格),可以设置该会话的history-limit
。您可以使用以下命令(从shell):
tmux set-option history-limit 5000 \; new-window
对于新会话(初始窗口的初始窗格),您需要history-limit
在创建会话之前设置“全局” :
tmux set-option -g history-limit 5000 \; new-session
注意:如果不重新设置该history-limit
值,则新值还将用于将来创建的其他窗格/窗口/会话;当前没有直接方法来创建具有其特定限制的单个新窗格/窗口/会话,而不会(至少是暂时地)更改history-limit
(尽管show-option
(尤其是在1.7及更高版本中)可以帮助检索当前值,以便稍后还原它) )。
set-option -g history-limit 50000
使用以下命令打开tmux配置文件:
vim ~/.tmux.conf
在配置文件中,添加以下行:
set -g history-limit 5000
注销并再次登录,启动新的tmux窗口,现在限制为5000。
~/.tmux.conf
在每个会话中都进行了源代码(然后在这些会话中启动新窗口并关闭任何旧窗口)。
这基于ntc2和Chris Johnsen的答案。每当我要创建具有自定义历史记录限制的新会话时,都会使用此功能。我想要一种创建回滚受限的会话的方法,而无需永久更改以后会话的历史记录限制。
tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000
无论是否存在现有会话,此方法均有效。在为新会话设置了历史记录限制后,它将其重置为默认值(对我来说是2000)。
我创建了一个可执行的bash脚本,该脚本使它变得更加有用。传递给脚本的第一个参数设置新会话的历史记录限制,第二个参数设置其会话名称:
#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
2 ** (25 - 7) = 256K
25万行。