我有一个终端缓冲区,里面有 10000 行之前执行的输出。为了搜索特定的单词序列,我必须先浏览所有 10000 行,然后才能找到我上次执行的命令的输出。这让我很恼火。有没有一种不用退出终端并再次运行它就可以清除终端缓冲区的方法(因为我使用 ssh 连接到远程服务器,重新执行所有命令来建立与它的连接很麻烦)。
答案1
tnoremap <C-l> <C-\><C-n>:call ClearTerminal()<cr>
function! ClearTerminal()
set scrollback=1
let &g:scrollback=1
echo &scrollback
call feedkeys("\i")
call feedkeys("clear\<CR>")
call feedkeys("\<C-\>\<C-n>")
call feedkeys("\i")
sleep 100m
let &scrollback=s:scroll_value
endfunction