Макрос для литерации абзацев
Макрос для литерации абзацев
По ходу дела понадобилось горячие клавиши множества пользовательских меню переобозначить буквами от a до z.
И поскольку ни в нативной замене в редакторе по CtrlF7, ни в плагинах EdtFind, RESearch и LuaFAR Search функции литерации я не нашёл, то решил оперативно сварганить макрос.
Посредством его заменяю предварительно расставленные двузначные числа от 10 до 35 на поставленные им в соответствие буквы английского алфавита.
Данный работает, но он не удовлетворяет меня не только "эстетически". И не только тем, что требует предварительной подработки (нумерации) материала. Но главным образом тем, что не умеет работать с выделенной областью (когда надо литерировать подменю, например).
С надеждой на то, что опытных макрописателей тема заинтересует. И будет написан макрос, который делает литерацию — обозначение с помощью букв (литер) порядкового места заданных абзацев. Желательно как с произвольно указанного места, так и в выделенной области.
Исправлено написание слова Subtract.
И поскольку ни в нативной замене в редакторе по CtrlF7, ни в плагинах EdtFind, RESearch и LuaFAR Search функции литерации я не нашёл, то решил оперативно сварганить макрос.
Посредством его заменяю предварительно расставленные двузначные числа от 10 до 35 на поставленные им в соответствие буквы английского алфавита.
Данный работает, но он не удовлетворяет меня не только "эстетически". И не только тем, что требует предварительной подработки (нумерации) материала. Но главным образом тем, что не умеет работать с выделенной областью (когда надо литерировать подменю, например).
С надеждой на то, что опытных макрописателей тема заинтересует. И будет написан макрос, который делает литерацию — обозначение с помощью букв (литер) порядкового места заданных абзацев. Желательно как с произвольно указанного места, так и в выделенной области.
Исправлено написание слова Subtract.
-
- Posts: 6819
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 528 times
Нужен макрос для литерации абзацев
Code: Select all
╔════════════════════════ LF Search: Replace ════════════════════════╗
║ Search for: ^(\d\d): ↓[ \ ]║
║ ║
║ Replace with: return string.char(T[1]+87)..":" ↓[ / ]║
║ [x] Function mode [ ] Delete empty line [ ] Confirm replacement ║
╟────────────────────────────────────────────────────────────────────╢
║ [ ] Case sensitive [x] Reg. expression Regexp library: ║
Нужен макрос для литерации абзацев
Shmuel
Здорово! Большое спасибо за подсказку! Сам бы ни за что не догадался.
Для меня сейчас особо ценно, что это можно делать с выделенным блоком.
Намерен сделать макрос. Вот ещё бы желательно, чтобы можно было бы нумерацию автоматически завершить числом 35.
А то плагин поменял
Здорово! Большое спасибо за подсказку! Сам бы ни за что не догадался.
Для меня сейчас особо ценно, что это можно делать с выделенным блоком.
Намерен сделать макрос. Вот ещё бы желательно, чтобы можно было бы нумерацию автоматически завершить числом 35.
А то плагин поменял
Code: Select all
36 на {, 37 - |, 38 - }, 39 - ~, 40 - , 41 - � и далее до конца (до 57) все номера заменены на �
Нужен макрос для литерации абзацев
Потрясающе! Так и предполагал, что Вы можете нечто такое! Очень то, что сейчас надо! Большое спасибо!Shmuel wrote:1. В макросе можно обойтись и без плагина:
По возможности, покажите, пожалуйста, а как можно литеровать абзацы без их предварительной нумерации? А просто по очищенным позициям, начинающимся на простое вертикальное двоеточие ":". Уже больше для интереса, а не только для практики.
Это надо же. Благодарю Вас, что указали! Ведь обязательно когда ни будь всплыло бы. Вот и понадейся на автоматические проверяльщики.2. Вы пишете слово Subtract неправильно.
Нужен макрос для литерации абзацев
Shmuel
Благодаря показанной Вами функции regex.gsub() составил удобные макросы для переразметки хоткеев в пользовательских меню. Без использования плагинов и даже диалогов. , пусть кто захочет тоже воспользуется ими тоже.
Вы видите, что в двух случаях вместо string.char() применена string.sub(). Мне показалось это более наглядным.
А также из-за того, что не нашёл способа через string.char() вызывать русские буквы. Да и в string.sub() с ними пришлось повозиться, пока подобрал подходящие параметры. Но, может быть, Вы покажете более оптимальные способы.
И ещё раз благодарю Вас за помощь!
Благодаря показанной Вами функции regex.gsub() составил удобные макросы для переразметки хоткеев в пользовательских меню. Без использования плагинов и даже диалогов. , пусть кто захочет тоже воспользуется ими тоже.
Вы видите, что в двух случаях вместо string.char() применена string.sub(). Мне показалось это более наглядным.
А также из-за того, что не нашёл способа через string.char() вызывать русские буквы. Да и в string.sub() с ними пришлось повозиться, пока подобрал подходящие параметры. Но, может быть, Вы покажете более оптимальные способы.
И ещё раз благодарю Вас за помощь!
- Attachments
-
- ctAlRCEFL_reorderingHotkeysUsersMenu(iShmuel)edi_umenu.lua.7z
- (1.23 KiB) Downloaded 63 times
Нужен макрос для литерации абзацев
Да. Но только не один макрос а четыре по раздельно:Wave wrote:Я правильно понял, что это открываешь файл меню, выделяешь пункты, и макрос меняет хоткеи вызовов на F1-F12-1-0-a-z ?
Первый макрос — чистит метки.
Второй — очищенные метки заполняет по порядку сначала цифрами от 1 до 9, а далее буквами от a до z.
Третий — очищенные же метки заполняет обозначениями функциональных клавиш от F1 до F24.
Четвёртый макрос может заполнить очищенные метки русскими буквами от A до Я (но это так, для поупражняться больше).
Кстати, по CtrlAltR можно запустить меню выбора макросов и потом уже оттуда выбирать нужный:
И, между прочим, есть способ запускать макросы из этого меню прямо по их шорткатам.