Търсите ли леко, изключително бързо и лесно достъпно решение за водене на бележки? Потърсете онлайн и ще намерите безброй предложения за такива приложения. И все пак дори „най-леките“ често са тромави и могат да идват с функции, които лично може да сметнете за безполезни.

И така, нека видим как можете да създадете свое собствено ултралеко, светкавично бързо персонализирано приложение за водене на бележки с помощта на AutoHotkey. Просто, без излишни средства решение за водене на бележки, което ще може да изскочи незабавно на екрана ви с едно натискане на клавиш.

Настройване на план за водене на бележки с AutoHotkey

Нека започнем с ясно формулиране на крайната ни цел и съставяне на прост план за достигане до нея.

За този проект нямаме нужда от фантастично форматиране на текст, поддръжка за шаблони или други „разширени“ функции. Нашата цел?

  • Искаме да създадем изключително просто приложение, което ще изскочи на екрана ни, когато натиснем комбинация от клавишни комбинации.
  • Този прозорец ще ни позволи да напишем бележка и да я запазим във файл с обикновен текст/MarkDown.
instagram viewer

И това е всичко—без допълнителни прозорци, диалогови прозорци, менюта или бутони.

За щастие, такъв проект е лесен за изграждане с AutoHotkey, както ще видим по-нататък. Чувствайте се свободни да следвате, дори ако не сте използвали AutoHotkey преди. Все пак може би е най-добре, ако първо проверите нашия кратко ръководство за AutoHotkey за начинаещи.

Как да инсталирате AutoHotkey

Тъй като AutoHotkey е решение на трета страна, за да го използвате, трябва да го инсталирате.

Така че, посетете Официален сайт на AutoHotkeyи щракнете върху приятелското зелено Изтегли бутон. Пропуснете версиите V1 (отхвърлена) и V2 (бета) и изберете Изтеглете текущата версия. След това го инсталирайте на вашия компютър.

Няма да можете да забележите промени след това, тъй като AutoHotkey работи само като анализатор за скриптове на AutoHotkey. С други думи, AutoHotkey не "прави нищо" сам. Вместо това, той работи като платформа, на която ще работи скриптът, който ще изработим следващия.

Как да направите нов скрипт в AutoHotkey

Отворете любимия си файлов мениджър, например Windows File Explorerи го насочете към директорията, в която искате да създадете новия си скрипт. Можете да изберете всяка директория от вашия работен плот до вашата лична папка с документи.

Най-лесният начин да създадете нов скрипт AutoHotkey е като се възползвате от новата опция, налична чрез контекстното меню с десен бутон след инсталиране на AutoHotkey. Щракнете с десния бутон върху празно място в прозореца на файловия мениджър и от появилото се меню изберете Нов > AutoHotkey скрипт.

Тъй като скриптовете AutoHotkey всъщност са обикновени текстови файлове, можете алтернативно да създадете нов текстов файл и след това да го преименувате, като промените разширението му от текст да се AHK. Крайният резултат ще бъде същият: ще имате нов празен скрипт AutoHotkey.

Стартирайте любимия си редактор на текст или код и отворете скрипта там, за да го редактирате. За тази статия ще използваме Notepad++, но можете да използвате всеки подобен инструмент, като VS Code или Atom.

Разбира се, ако предпочитате да поддържате нещата прости, винаги можете да използвате добрия стар Notepad, който придружава Windows.

Създаване на GUI в AutoHotkey

За да опростим бъдещото персонализиране на нашия скрипт, нека съхраним две основни части от информацията в две променливи.

  • Първият, който нарекохме NotesPath, е картографиран към пълния път, където искаме нашият скрипт да записва нашите бележки. Моля, не забравяйте да промените пътя към този, който искате да използвате. В противен случай вашите бележки ще бъдат запазени на неочаквано място или скриптът ще се провали.
  • Вторият, който нарекохме FileNameExtra, съдържа низ, който ще използваме за имената на файловете на нашите бележки. Файлът на всяка бележка ще бъде наименуван на "дезинфекцирана" версия на заглавието, последвано от този низ.

Трябва да изглежда така:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Входяща кутия
FileNameExtra = _MUOnote.md

Обикновено AutoHotkey се използва за засягане на други прозорци, както видяхме в нашата статия за как да центрирате всеки прозорец на екрана си с AutoHotkey, или за създаване на клавишни комбинации, за които можете да проверите нашето ръководство на създаване на специфични за приложението клавишни комбинации с AutoHotkey.

В този сценарий обаче ще разчитаме много на възможностите за създаване на GUI на AutoHotkey, за които много хора забравят. AutoHotkey „докосва“ собствения „инструмент за прозорци“ на Windows. Това позволява създаването на GUI с всички обичайни елементи, които бихте очаквали да намерите в "стандартен" прозорец на операционната система, от текстови полета и падащи менюта до бутони и ленти за превъртане.

За щастие, тъй като правим просто и „леко“ приложение за водене на бележки, проектът няма да бъде сложен и следователно относително лесен за изработване. Нашият GUI ще се състои само от три елемента:

  1. Едно текстово поле за заглавието на бележката
  2. Още едно за съдържанието на бележката
  3. Бутон за запазване на бележката.

Дори няма да добавим бутон „Отказ“, тъй като ще съпоставим тази функция с клавиша Escape на клавиатурата и действието за затваряне на прозореца.

Добавете реда по-долу към вашия скрипт - той основно "казва" на AutoHotkey, че шрифтът във всеки елемент, който следва, трябва да бъде "размер 14" и "цвят 666666".

Гуи, QN: Шрифт, s14c666666

След това, следният ред:

Гуи, QN:Добави, редактиране, x5y5w550h60vTitle, Заглавие-Име на файл
  1. ...добавя редактируемо текстово поле ("Редактиране")...
  2. ...при координати 5 пиксела хоризонтално и 5 пиксела вертикално от ръба на прозореца ("x5 y5")...
  3. ...с ширина 550 пиксела и височина 60 пиксела ("w550 h60").
  4. Всичко въведено в него ще бъде картографирано към променливата Title ("vTitle")...
  5. ...и ще съдържа текста "Заглавие - име на файл".

След това нека променим размера на шрифта на 12 и цвета му на 4444444 за всички елементи, които идват след този ред.

След това добавете по-голямо редактируемо текстово поле за действителното съдържание на бележката, съпоставете го с променливата Note и го попълнете предварително с всичко, което вече е в клипборда.

Накрая добавете бутон под двете текстови полета и в долната част на прозореца на приложението, съпоставен с функцията OK на скрипта по подразбиране.

Гуи, QN: Шрифт, s12c444444
Гуи, QN:Добави, редактиране, x5y70w550h600vNote, %Клипборд%
Гуи, QN:Добави, Бутон, x5y680w550h50, Добре

Създадохме GUI, но имаме нужда и от прозорец, за да го покажем.

За това следващият ред "казва" на AutoHotkey да създаде прозорец с координати 0, 0 (хоризонтално, вертикално), с 560 пиксела ширина и 735 пиксела височина, наречен "MUONotes".

Гуи, QN:Покажи, x0y0w560h735, MUONotes

Пълният скрипт до момента трябва да изглежда по следния начин:

NotesPath = A:\00_Cloud_Storage\Dropbox\Notes\Obsidian\Duckland! Входяща кутия
FileNameExtra = _MUOnote.md Gui, QN: шрифт, s14 c666666
Гуи, QN:Добави, редактиране, x5y5w550h60vTitle, Заглавие-Име на файл
Гуи, QN: Шрифт, s12c444444
Гуи, QN:Добави, редактиране, x5y70w550h600vNote, %Клипборд%
Гуи, QN:Добави, Бутон, x5y680w550h50, Добре
Гуи, QN:Покажи, x0y0w560h735, MUONotes

Каране на бутоните да правят нещо в AutoHotkey

Нашият GUI е готов - можете да го проверите, като щракнете двукратно върху вашия скрипт.

Както ще видите, областта на основната бележка ще бъде предварително попълнена със съдържанието на клипборда. Самото приложение обаче ще бъде безполезно, защото все още не сме добавили поддръжка за запазване на нищо.

Коригирайте това, като добавите следното към вашия скрипт:

QNButtonOK:
Файлово кодиране, UTF-8-RAW
Гуи, QN:Изпращане
TempClipboard = %ClipBoard%
Клипборд = %Заглавие%
gosub CleanText
Име на файл = %ClipBoard%
ClipBoard = %TempClipboard%
FinalFilename = %NotesPath%\%FileName%%FileNameExtra%
FileDelete, %FinalFileName%
FileAppend, %Note%, %FinalFileName%
връщане

Нека разглобим това:

  1. „QNButtonOK:“ заявява, че това, което идва след това, е това, което AutoHotkey „трябва да прави“, когато се щракне върху бутона OK по подразбиране на GUI.
  2. Редът "FileEncoding" задава кодирането на създадения текстов файл.
  3. „Gui, GN: Submit“ грабва състоянието на всеки GUI елемент, което означава, че също „грабва“ всичко, въведено в двете текстови полета.
  4. След това временно копираме действителното съдържание на клипборда в променливата TempClipboard.
  5. Правим горното, защото искаме да копираме заглавието на бележката в клипборда, използван като посредник за изпращането й към функция, която ще добавим следващата. Тази функция ще "дезинфекцира" текста, премахвайки небуквено-цифрови знаци и ни позволява да използваме текста на заглавието като име на файл.
  6. Функцията за дезинфекция ще върне „чистото“ заглавие в клипборда, откъдето го свързваме с променливата FileName.
  7. След това връщаме оригиналното му съдържание в клипборда от променливата TempClipboard.
  8. За да получим пълния път и име на файла на целевия файл, ние поставяме новосглобената променлива FileName между NotesPath и FileNameExtra променливите. Ето защо ги дефинирахме в началото на сценария.
  9. Превантивно изтриваме всеки предишен файл със същия път и име на файл.
  10. Добавяме съдържанието на променливата Note към файла FinalFileName.

Саниране на текста в AutoHotkey

Функцията "дезинфекция", която споменахме по-горе, е следната:

CleanText: CleanMePlease = %ClipBoard%
CleanMePlease := Regexreplace (CleanMePlease, "a-zA-Z0-9", "")
цикъл
{
StringReplace, CleanMePlease, CleanMePlease, %A_SPACE%%A_SPACE%, %A_SPACE%, всички
ако ErrorLevel <> 0
прекъсвам
}
ClipBoard = %CleanMePlease%
Връщане

За да преминете през него ред по ред:

  1. "CleanText:" е името на функцията, която "съдържа" действията, които следват.
  2. Първо картографираме съдържанието на клипборда към променливата CleanMePlease.
  3. Използваме правило RegEx, за да премахнем всички небуквено-цифрови знаци от променливата CleanMePlease.
  4. Тъй като горното може да въведе двойни интервали, ние използваме цикъл, за да прегледаме още веднъж променливата CleanMePlease, като ги заменяме с единични интервали. Това е малкото с двата "%A_SPACE%", последвани от един и думата "all".
  5. Редът ErrorLevel "казва" на AutoHotkey да "прекъсне цикъла", когато не може да намери повече двойни интервали в текста.
  6. Накрая връщаме „дезинфекцираната“ версия на променливата CleanMePlease в клипборда.

Извършване на последните настройки на вашето приложение за водене на бележки

Вашият скрипт за водене на бележки е готов за използване, но ако го изпробвате, може да видите прозореца му да изскача и незабавно да изчезне. Това е така, защото вие също трябва да "върнете" всяка функция, която сте дефинирали в него.

И така, поставете думата "връщане" (без кавички) под:

  1. Частта на скрипта, създаваща GUI, под GUI, ред "QN: Покажи...".
  2. Функцията "QNButtonOK" под последния ред "FileAppend...".
  3. Функцията CleanText, под последния ред "ClipBoard =...".

Въпреки това, ако опитате да стартирате скрипта си сега, ще видите, че той все още остава в лентата на Windows, след като го използвате. За да затворите приложението и скриптът да излезе напълно, добавете следното в самия край:

QNGuiEscape:
QNGuiClose:
Изход от приложението
връщане

И накрая, за да стартирате приложението незабавно, когато имате нужда от него, създайте пряк път за вашия скрипт на вашия работен плот. След това щракнете с десния бутон върху него, изберете Имоти, щракнете в Клавиш за бърз достъп поле и натиснете желаната комбинация от бутони.

Поздравления за създаването на вашето първо приложение в AutoHotkey

Първоначално може да звучи като сложен проект, но както видяхме, създаването на „леко“ приложение за водене на бележки беше доста лесно.

Всичко благодарение на удобния за човека синтаксис на AutoHotkey и способността да се възползва от елементите, свързани с GUI по подразбиране на Windows.