在bash vi模式下清除Tmux历史记录
最近,我在在bash vi模式下清除Tmux历史记录,bash,vim,command-line,terminal,tmux,Bash,Vim,Command Line,Terminal,Tmux,最近,我在.bash_profile中通过set-ovi设置切换到使用bash vi模式。但这导致了一个问题 我有一个tmux映射,当我按下+k时,它将运行清除历史记录命令。这是相关的映射 bind -n C-k clear-history 这在bash vi模式下不起作用,可能是因为vi模式优先。如何解决或解决此问题?您可以更改密钥,这是我使用的: # reset & clear history bind r send-keys -R \; send-keys C-l \; clea
.bash_profile
中通过set-ovi
设置切换到使用bash vi模式。但这导致了一个问题
我有一个tmux映射,当我按下+k
时,它将运行清除历史记录
命令。这是相关的映射
bind -n C-k clear-history
这在bash vi模式下不起作用,可能是因为vi模式优先。如何解决或解决此问题?您可以更改密钥,这是我使用的:
# reset & clear history
bind r send-keys -R \; send-keys C-l \; clear-history
你必须按ctrl+b+r
k
确实可以使用,但如果您也在面板之间移动(ctrl+hkjl),则可能会造成混淆
在任何情况下,只需使用ctrl+k即可完成此操作
不使用睡眠:
bind -n C-k send-keys -R \; send-keys C-l \; clear-history
从中,我有以下tmux映射:
bind-key -n C-k send-keys -R \; send-keys Escape C-l a \; clear-history
这有许多变体(每个都有优点和缺点,并且针对不同的用例);参见链接问题。这对我来说不起作用,使用
r
而不是k
?不太明白,你是什么意思?我复制了你答案中的内容,并将其粘贴在我的.tmux.conf
及其清除屏幕上,但没有历史记录,因为我可以在按下后滚动查看它。我认为它只是执行C-l
,而不是清除历史记录
,然后我更新了答案,试一试(顺便说一下,这是一个有趣的问题)
bind-key -n C-k send-keys -R \; send-keys Escape C-l a \; clear-history