1

Тема: AHK: быстрое создание автозамен при работе в любой программе

Уважаемые форумчане.

Я уже задавал подобный вопрос, но поскольку ответов не было, то я упростил и немного перефразировал его.
Для создания автозамен я часто копирую слово/фразу в какой-либо программе, потом перехожу в программу Notepad++ (эта программа у меня открыта всегда), там у меня в конце файла есть такие заготовки, для того чтобы быстрее делать автозамены

::х::х

Я выделяю «х» справа, и вместо него вставляю скопированное слово. Далее я выделяю «х» слева и набираю нужные символы. То есть заготовка ::х::х превращается, например, в ::рее::результаты.

Я написал следующий скрипт, который автоматизирует создание автозамен, при нахождении в любой программе.

#SingleInstance Force
^vk57::   ;Ctrl+w
ClipBoard =
   SendInput ^{vk43}    ;  "C"
   ClipWait, 3
Sleep, 300
Run "C:\Program Files (x86)\Notepad++\notepad++.exe"
Send, {CTRLDOWN}{END}{CTRLUP}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}{LEFT}{LEFT}
Return

Вышеуказанный скрипт делает следующее: после нажатия Ctrl и w выделенное слово копируется какой-либо программе, открывается программа Notepad++, выделенное слово вставляется в самый конец файла с расширением ahk, далее перед словом появляются 4 двоеточия и курсор появляется после второго двоеточия. То есть мне остается только ввести буквы/символы после набора которых будет работать автозамена
К сожалению, этот скрипт работает нестабильно (то работает, то не работает).

Пожалуйста, подскажите, как можно усовершенствовать/упростить этот скрипт, чтобы он работал надежно.

Пожалуйста, подскажите, как в скрипте прописать набор 4-х двоеточий. У меня слишком длинный и ненадежный способ получения 4-х двоеточий (6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN};{SHIFTUP}6{BACKSPACE}{SHIFTDOWN}) с использованием автозамен в другом ahk файле.

2

Re: AHK: быстрое создание автозамен при работе в любой программе

Maxim, в следующий раз не создавайте две одинаковые темы, а просто отредактируйте первую, или добавьте сообщение.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: быстрое создание автозамен при работе в любой программе

Maxim пишет:

Пожалуйста, подскажите, как можно усовершенствовать/упростить этот скрипт, чтобы он работал надежно.

Лучше всего сделать так, чтобы по нажатию Ctrl и w появлялось небольшое окошко. Вводим новое сокращение, жмём "Enter" или кнопку "OK". При этом новая запись добавляется в файл, и не нужно вечно держать открытым Notepad++.

4

Re: AHK: быстрое создание автозамен при работе в любой программе

Идея хорошая, спасибо. А вы не могли бы написать маленькую часть скрипта, заставляющую появится четыре многоточия после нажатия клавиши Home (то есть мне нужно, чтобы четыре многоточия появились перед словом/фразой).

5

Re: AHK: быстрое создание автозамен при работе в любой программе

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

#SingleInstance Force
^vk57 up::   ;Ctrl+w
   ClipBoard =
   SendInput ^{vk43}    ;  "C"
   ClipWait, 3
   Sleep, 300
   InputBox, str, Автозамена, %Clipboard%,, 400, 120
   if !ErrorLevel && str
   {
      FileAppend, % "`n::" . str . "::" . Clipboard, %A_ScriptFullPath%
      Reload
   }
Return

6

Re: AHK: быстрое создание автозамен при работе в любой программе

Мечты сбываются! Irbis, огромное спасибо!

7

Re: AHK: быстрое создание автозамен при работе в любой программе

Пожалуйста!