Sublime Text - безусловно, лучший текстовый редактор, который я когда-либо видел, а AutoHotKey - программа сценариев, без которой я не могу жить, особенно функция горячих строк, которая позволяет мне создавать пары аббревиатур и расширений, значительно ускоряя набор текста. Эти два человеческих изобретения невообразимо повышают мою повседневную производительность. Недавно я изучил, как использовать Vim, и мне становится удобно включить "Винтажный режим" в Sublime Text.
Тем не менее, существует серьезная проблема: команды Vim могут создавать помехи для горячих строк AutoHotKey. Допустим, у меня есть эта горячая строка:
::xeno::xenófobo
... что означает, что если он наберет "xeno", то расширится до "xenófobo". Однако в Vim "xeno" будет последовательно удалять текущую строку, затем переходить к концу слова, затем искать следующий вхождение входной строки и открывать новую строку. Это нежелательно.
Еще хуже, когда сама часть расширения содержит значимую последовательность Vim:
::eve::Eddie Vedder
... который будет переходить к концу слова, удалять текущую строку, переключаться в режим вставки, вставлять "e Vedder". Абсолютно катастрофический.
Но AutoHotKey является мощным, и мы можем настроить его на игнорирование некоторых окон. Пример: если в активном окне в заголовке есть строка типа " - Sublime Text"
, мы можем игнорировать ввод горячих строк. Что касается Sublime Text с включенным режимом Vim, он отобразит "КОМАНДНЫЙ РЕЖИМ" или "ВСТАВИТЬ РЕЖИМ" в строке состояния , а не в строке заголовка ! Поэтому AutoHotKey не может определить, находится ли Vim Sublime Text в режиме COMMAND или INSERT.
Можно ли написать очень простой плагин / пакет для Sublime Text, чтобы он отображал слова "Режим КОМАНДЫ" или "Режим ВСТАВКИ" в строке заголовка, когда Vim включен? Это может заставить AutoHotKey узнать о текущем режиме и повороте строк хоста.