当我使用ctrl + f使用iterm2进行搜索时,它将搜索缓冲区中比我正在终端中运行的当前进程还要旧的旧内容。在这种情况下,我不在乎缓冲区中的旧内容,我想删除它。
我的问题是-是否可以使用bash脚本/命令以编程方式清除缓冲区?我可以在启动时从进程中调用此shell命令。
答案 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 ``-'' $@