以编程方式清除iterm2缓冲区

时间:2018-10-18 20:01:19

标签: iterm2 iterm

当我使用ctrl + f使用iterm2进行搜索时,它将搜索缓冲区中比我正在终端中运行的当前进程还要旧的旧内容。在这种情况下,我不在乎缓冲区中的旧内容,我想删除它。

我的问题是-是否可以使用bash脚本/命令以编程方式清除缓冲区?我可以在启动时从进程中调用此shell命令。

1 个答案:

答案 0 :(得分:1)

您可以使用AppleScript清除回滚缓冲区,然后执行终端clear,将以下内容放入bash脚本中(或仅编译AppleScript部分并通过osascript运行它)

注意:尝试仅执行“清除缓冲区”将不起作用,因为cmd实际上仍在运行并且iTerm接受CMD-K,但是它不能清除屏幕...错误?执行时间? ....

#!/bin/bash
read -r -d '' script <<'EOF'
on run argv
   tell application "iTerm"
     tell application "System Events" to keystroke "K" using {shift down, command down}
     tell current window
        tell current session
           write text "clear"
        end tell
     end tell
   end tell
end run
EOF
echo "$script" | osascript ``-'' $@