программно очистить буфер iterm2 - PullRequest
0 голосов
/ 18 октября 2018

Когда я выполняю поиск с помощью iterm2, используя ctrl + f, он будет искать в буфере более старые данные, более старые, чем текущий процесс, который я выполняю в терминале.В этом случае мне нет дела до старых вещей в буфере, я хочу их удалить.

Мой вопрос - есть ли способ программно очистить буфер, используя скрипт / команду bash?Я мог бы вызвать эту команду оболочки из моего процесса при запуске.

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать 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 ``-'' $@
...