Перейти к основному содержимому

Подстановка текста

Подстановка текста заменяет короткий введённый текст чем-то более длинным. Введите кст и пробел, и программа, в которую вы вводите текст, получит «кстати» и пробел. Это работает в любой программе, принимающей ввод текста.

Страница Подстановка текста показывает замены одной группы приложений за раз. Каждая замена — это обычное действие с триггером вводимого текста. Действие, которое при вводе текста делает что-то другое (выполняет скрипт, нажимает клавиши, имеет другие триггеры), вместо этого отображается на странице Действия, в разделе + Подстановка текста его карточки Триггеры. Оба следуют правилам этой страницы.

Добавление замены​

Input.ObserverПростойРасширенный
АВТОМАТИЗАЦИЯ
Действия
Подстановка текста
Фрагменты
Запись макросов
Песочница
Группы приложений
Группы игнорирования
Жесты
ДВИЖОК
Глобальные события
Зоны исключения
Скрипты
Плагины
НАСТРОЙКА
Общие
Оформление
Профили
Консоль
Безопасность
Справка
О программе
Замены
Кстати
кст
Адрес
;addr
Подстановка текста
ЗаменыПараметры
Группа приложений
Глобальная
Триггер
Вводимый текст
кст
С учётом регистра. Раскрывается, если за ним следует Space, Tab или Enter либо точка, запятая, восклицательный или вопросительный знак.
Что делает
ТекстТекст через буфер обменаRTFHTML
Текст замены
кстати
  1. В поле Группа приложений ① выберите, где будет работать замена. Глобальная работает во всех программах, которые не забрала никакая другая группа приложений, и в группах, откатывающихся к глобальной.
  2. Нажмите + Создать внизу списка Замены ②. Появится замена Новая замена; переименуйте её в поле Имя.
  3. В поле Вводимый текст ③ введите сокращение, например кст.
  4. Выберите тип ④ (Типы).
  5. Введите Текст замены ⑤ или, для RTF и HTML, скопируйте содержимое в другой программе и нажмите Вставить из буфера обмена.
  6. Сохраните.

Если в поле Группа приложений выбрано Все, список показывает замены всех групп под именами групп, а новую замену нельзя создать, пока вы не выберете группу.

Как сопоставляется вводимый текст​

Движок запоминает символы, введённые после последней границы или сброса. Когда вы вводите границу, он сравнивает запомненное со всеми триггерами вводимого текста:

  • Должно совпасть всё слово. Введённое после последней границы должно в точности равняться вводимому тексту, начиная с первого символа. кст не раскрывается внутри акст или текст.
  • С учётом регистра. кст не раскрывает КСТ или Кст. Добавьте отдельную замену для каждой нужной формы.
  • Shift не мешает. Удержание Shift для ввода прописной буквы или символа — обычный ввод.
  • Исправления не учитываются. Backspace очищает запомненное. Если ввести кс, нажать Backspace и ввести ст, движок запомнит только ст.
Вы вводитеВводимый текстРезультат
кст Пробелкст«кстати» и пробел
кст.кст«кстати.»
акст ПробелкстНичего: слово — акст.
КСТ ПробелкстНичего: другой регистр.
;addr Enter;addrАдрес, затем Enter.

Вводимый текст может начинаться или заканчиваться символами вроде ; : ' " и скобок, которые не являются границами. Начальная ; — распространённый способ отделить сокращения от настоящих слов.

Что завершает вводимый текст​

Эти клавиши завершают вводимый текст и вызывают подстановку, если он совпал:

  • Пробел, Tab и Enter — каждая, пока включён её переключатель на вкладке «Параметры» (по умолчанию все включены).
  • Точка, запятая, восклицательный и вопросительный знаки: . , ! ?, арабские запятая, вопросительный знак и точка, а также идеографические и полноширинные запятая, точка, восклицательный и вопросительный знаки. Они завершают текст всегда.

Вводимый текст, содержащий границу, никогда не раскроется. Страница сообщает об этом под полем Вводимый текст: Никогда не раскрывается, с причиной (пробел, пока пробел является границей, управляющий символ или один из знаков препинания выше).

Что сбрасывает вводимый текст​

Запомненные символы отбрасываются, и начинается новое слово, когда:

  • вы нажимаете Backspace, Esc, Delete, клавишу со стрелкой, Home, End, Page Up, Page Down или функциональную клавишу либо любую клавишу, которая не вводит символ;
  • вы нажимаете любую клавишу при удерживаемом Ctrl, Alt или Win. Сочетание клавиш никогда не считается вводом текста, поэтому Alt+Tab или Ctrl+Enter сразу после сокращения его не раскрывают;
  • вы щёлкаете любой кнопкой мыши;
  • вы переключаетесь на другое окно или фокус клавиатуры переходит в другое поле;
  • скрипт вводит текст или нажимает клавиши;
  • вы вводите больше символов, чем в самом длинном из заданных вводимых текстов, без границы.

Что происходит при подстановке​

Когда граница завершает вводимый текст, у которого есть замена для окна на переднем плане:

  1. Клавиша-граница пока не передаётся программе.
  2. Вводимый текст стирается — по одному Backspace на символ.
  3. Вводится замена.
  4. Сразу после замены вводится клавиша-граница. Поэтому граница Enter или Tab действует на готовый текст: программа чата отправляет заменённое сообщение, а форма переходит к следующему полю только после того, как текст готов.

Клавиши, нажатые в это время, удерживаются и вводятся после, по порядку, поэтому не могут попасть в середину замены. Если замена долго не начинается (более полсекунды без отправки чего-либо) или удерживает клавиши в общей сложности 10 секунд, удерживаемые клавиши отпускаются.

Скорость ввода задаёт Задержка ввода на странице Скрипты (расширенный режим; по умолчанию 30 мс между нажатиями). Некоторые программы, например Блокнот в Windows 11, перемешивают текст, поступающий без пауз (Параметры скриптов).

Типы​

ТипЧто делаетДля чего
ТекстВводит замену нажатиями клавиш.Короткий текст. Работает почти везде; длинный текст вводится не сразу.
Текст через буфер обменаПомещает текст в буфер обмена и вставляет его через Ctrl+V.Длинный текст и текст с переносами строк. Мгновенно.
RTFВставляет форматированный текст (Rich Text Format).Форматирование в текстовых редакторах и почтовых программах.
HTMLВставляет фрагмент HTML.Форматирование в браузерах, веб-почте и редакторах, принимающих HTML.

Для RTF и HTML кнопка Вставить из буфера обмена сохраняет ровно то, что вы скопировали: сначала скопируйте форматированное содержимое в другой программе. Страница показывает Предпросмотр. Для предпросмотра HTML нужна среда выполнения Microsoft Edge WebView2; без неё страница сообщает об этом, а замена всё равно работает. В исходном коде RTF, введённом вручную, можно использовать любые символы напрямую; они записываются собственной escape-последовательностью RTF \u за вас. Замены RTF и HTML также помещают в буфер обмена копию в виде простого текста, поэтому программа, принимающая только простой текст, вставит слова.

Восстановление буфера обмена​

Три типа, использующие буфер обмена, заменяют его содержимое. Затем восстановить буфер обмена (по умолчанию включено) сначала сохраняет буфер обмена и возвращает его после вставки. В расширенном режиме Пауза перед восстановлением (мс) (по умолчанию 150) даёт программе время сначала закончить вставку. Если программа вставляет прежнее содержимое буфера обмена вместо замены, увеличьте это значение.

примечание

Расширенный режим. Пауза перед восстановлением (мс) отображается только в расширенном режиме.

Какая замена сработает​

У вводимого текста нет окна под указателем. Он использует окно на переднем плане в момент ввода границы:

  1. Если окно входит в группу игнорирования, ничего не подставляется, и клавиша-граница обычно доходит до программы.
  2. Иначе сначала пробуется группа приложений окна, если она действует в активном профиле. Внутри группы срабатывает первая включённая замена или действие с точно таким вводимым текстом. Если у двух одинаковый вводимый текст, срабатывает то, что выше в списке; страница об этом предупреждает. Вверх и Вниз меняют порядок.
  3. Если в группе для этого ничего нет, пробуется глобальная группа, если только Резервный переход к глобальной группе не выключен у группы или на странице Общие (Область действия и правила отката).
  4. Если ничего не совпало, ничего не происходит: клавиша-граница доходит до программы в том виде, в каком вы её ввели.

Жесты работают здесь и Горячие клавиши работают здесь у группы приложений на подстановку текста не влияют.

Вкладка «Параметры»​

Когда раскрывать
Подстановка текста включена
Раскрывает текст по мере ввода: замены с этой страницы и все действия с триггером вводимого текста. Когда параметр отключён, ни одна из них не срабатывает и ничего не меняется.
Раскрывать по Space
Раскрывать по Tab
Раскрывать по Enter
  • Подстановка текста включена ① включает или выключает всю подстановку текста: замены на этой странице и все действия с триггером вводимого текста. Когда выключено, ничего не подставляется и ни одна замена не изменяется. Пока параметр выключен, вкладка Замены показывает уведомление, а страница «Действия» помечает каждый триггер вводимого текста.
  • Раскрывать по Space ②, Раскрывать по Tab и Раскрывать по Enter выбирают, какие из трёх клавиш завершают вводимый текст. Они действуют для всех групп приложений. Выключение одного из них не делает клавишу игнорируемой:
    • Если Раскрывать по Space выключено, пробел становится частью вводимого текста. Тогда вводимый текст может содержать пробелы, например my addr, и раскрываться по знаку препинания, Tab или Enter.
    • Если выключено Раскрывать по Tab или Раскрывать по Enter, эта клавиша вместо этого сбрасывает вводимый текст, как Backspace.
примечание

Расширенный режим. Раскрывать по Space, Раскрывать по Tab и Раскрывать по Enter отображаются только в расширенном режиме. Пока Подстановка текста включена выключено, они недоступны.

Когда текст не подставляется​

  • Пока движок отключён или приостановлен параметром Приостанавливать всё при фокусе (Группы игнорирования), а также пока рисуется жест.
  • При открытом редакторе метода ввода (IME). Если в окне на переднем плане включён японский, китайский или корейский метод ввода, нажатые клавиши являются составным вводом, а пробел его преобразует, поэтому ничего не подставляется и клавиша уходит методу ввода. Для подстановки переключите его на прямой ввод.
  • Символы, вводимые с AltGr. В раскладках, где AltGr вводит символ (например, @ на немецкой клавиатуре), Windows сообщает о нём как о Ctrl+Alt, что сбрасывает вводимый текст. Такие символы не могут входить во вводимый текст.
  • Мёртвые клавиши. Мёртвая клавиша (диакритический знак, вводимый перед буквой) сбрасывает вводимый текст, поэтому составленные так символы с диакритикой не могут в него входить. Символы, которые ваша раскладка вводит одной клавишей, работают.
  • Программы, которые стирают иначе. При стирании отправляется по одному Backspace на символ. Составные символы и объединённые эмодзи считаются одним символом каждый, а некоторые программы стирают их иначе, поэтому вводимый текст из таких символов может стереться неаккуратно.