Я не знаю, как реализовать это в Sublime, но несколько мыслей / наблюдений
- Строка состояния не является отдельным элементом управления, она представляется частью общего
PX_WINDOW_CLASS
для всего окна, так что это не очень удобно для непосредственного чтения текстового значения (прямо из AutoHotkey). - Вы можете использовать опрос в AutoHotkey в сочетании с OCR для чтения строки состояния (используя GDIP или что-то подобное). Это, вероятно, будет работать с некоторым минимальным объемом обработки, но всегда потребует задержки между временем, когда он меняет режим, и временем, когда обнаруживается изменение режима. Не совсем идеально. Заставить OCR работать может быть немного сложно (но выполнимо).
- Вы можете написать свой собственный возвышенный пакет, чтобы прочитать текст строки состояния и обработать, что делать, основываясь на таком опросе. Например, смотрите здесь: https://forum.sublimetext.com/t/copy-text-from-the-status-bar/20714/8
- Возможно, стоит рассмотреть другие типы взаимодействия (помимо использования AutoHotkey
#IfWinActive
и установки заголовка окна. Другими словами, установка заголовка окна может быть сложной, но может быть не так сложно запустить отдельный скрипт exe или ahk непосредственно из возвышенного. Скажем, вы смогли опрашивать правильный ключ поиска для текста состояния, чтобы определить, является ли он INSERT или COMMAND, а затем выполнить команду оболочки (exe или ahk script) - это может передать ваш сценарий горячей строки, чтобы включить / отключить различные комбинации клавиш. Существует возвышенный пакет, который делает что-то вроде этого, чтобы установить прозрачность окна (запускает внешнюю утилиту для изменения окна), так что, возможно, это то, что вы могли бы рассмотреть. - Эта ссылка показывает, как вы можете обнаружить изменения режима. Возможно, вы могли бы использовать это в сочетании с последним предметом. https://stackoverflow.com/questions/20514563/change-appearance-in-sublime-text-3-when-switching-mode-in-vintage#39805889
- Вы не упоминаете в своем посте, как происходит переход между режимом вставки и командным режимом - я установил Sublime и посмотрел повсюду и сам не могу понять, но одна возможность рассмотреть, является ли это ключом или нет сочетание. Если это так, вы можете обнаружить нажатия клавиш, используемые для переключения между режимами, и отследить, какой режим используется отдельно в AutoHotkey. Этот тип настройки может быть менее желателен, так как это предполагаемое состояние, которое отслеживается (и его также нужно инициализировать один раз для правильной работы). Однако в качестве начальной реализации может быть довольно легко получить что-то, что работает большую часть времени, пока вы не получите что-то более надежное в Sublime.