Макрос-альтернатива плагинам (Truncate...)

Здесь обсуждается всё, что касается макросов.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Макрос-альтернатива плагинам (Truncate...)

Post by SUSim »

Вот макрос удаляющий лишние пробелы и табы в окончаниях строк, а также лишние пустые строки в окончании файла.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Макрос-альтернатива плагинам (Truncate...)

Post by John Doe »

SUSim wrote:

Code: Select all

%Fl=editor.pos(0,4); %Fc=editor.pos(0,5);
%Cl=editor.pos(0,1); %Cc=editor.pos(0,3);
...
editor.pos(1,1,%Cl) editor.pos(1,3,%Cc)
editor.pos(1,4,%Fl) editor.pos(1,5,%Fc)
Чем это отличается от bm.add ... bm.next bm.del?
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Kerberos464 »

спасибо, здорово!
добавлю макрос в свою сборку, вместо анси-плагина TruncateTxt.
кстати, не знал, что макрос можно в таком виде в реестре хранить.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
vkh
Posts: 226
Joined: Fri 13 Nov, 2009 07:48
Has thanked: 2 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by vkh »

вообще супер!
теперь масса проблем решится с другими похожими задачами
я как будто только что узнал о существовании регэкспов.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Макрос-альтернатива плагинам (Truncate...)

Post by SUSim »

John Doe wrote:Чем это отличается от bm.add ... bm.next bm.del?
Хм, не знаю, ни чем наверное, только проверки наверно пришлось бы делать чтобы не затереть существующие закладки...
fibre wrote:кстати, не знал, что макрос можно в таком виде в реестре хранить.
только аккуратней с плагином macroview, он такие макросы портит при редактировании...
SimSU ··· ·· -- ··· ··-
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Kerberos464 »

есть два не очень приятных момента:
1. после работы макроса в диалоге поиска остаётся включённой галка "Regular expressions". это неудивительно, но неприятно... как убрать, пока не знаю, разве если токо сделать ещё один поиск с выключенной галкой, но тогда она будет всегда выключенной после работы макроса.
2. поиск пробелов и табов в файле около 1 мб занимает кучу времени (на глаз - минуты 2) :( хотя это, конечно, минус не макроса, а самого поиска.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Kerberos464 »

попробовал для решения п.2 снять в макросе галку "[ ] Disable screen output", чтоб при необходимости нажать esc в поиске, но теперь в конце работы макроса стало выбрасывать из редактора в панели.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Макрос-альтернатива плагинам (Truncate...)

Post by SUSim »

Нда, по пункту 1 - сделаю восстановление режима - то есть галка будет в том же состоянии что и до использования макроса...
по пункту 2 - я не понимаю причины тормазов :( видимо действительно движок замены фара не оптимален...
могу попробовать сделать альтернативный макрос с RESearch (так как это единственная альтернатива в Far2 x64), она в твою поставку входит?
SimSU ··· ·· -- ··· ··-
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Kerberos464 »

SUSim wrote:по пункту 2 - я не понимаю причины тормазов :( видимо действительно движок замены фара не оптимален...
дело не в замене. даже просто поиск регулярного выражения \s+?$ идёт медленно. я поэкспериментировал - чем больше строк в файле, тем медленнее. поиск в файле с 1000 строк на моём компе занимает 15 секунд, причём длина строк не имеет значения (для теста можно создать пустой файл, тупо зажать Enter, чтоб получилось 1000 строк, файл при этом будет 2000 байт, и всё равно поиск вышеуказанной регулярки занимает те же 15 сек).
ну да ладно, к макросу это не относится.
SUSim wrote:могу попробовать сделать альтернативный макрос с RESearch (так как это единственная альтернатива в Far2 x64), она в твою поставку входит?
нет, не входит (практически никогда не пользовался регулярными выражениями)... но не стоит принимать во внимание мою сборку, ведь и другие люди будут юзать твой макрос :)
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
John Doe
Бюрократ
Posts: 13867
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Макрос-альтернатива плагинам (Truncate...)

Post by John Doe »

fibre wrote:поиск в файле с 1000 строк на моём компе занимает 15 секунд
1. А если плагинами?
2. А если из панелей?
3. А как сторонние утилиты?
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Kerberos464 »

John Doe wrote:
fibre wrote:поиск в файле с 1000 строк на моём компе занимает 15 секунд
1. А если плагинами?
2. А если из панелей?
3. А как сторонние утилиты?
я имел в виду, конечно же, не просто "поиск в файле с 1000 строк", а "поиск по регулярному выражению \s+?$ в файле с 1000 строк"
1. плагином попробовал - RESearch 7.1.3, ищет быстро.
2. из панелей? не понял, что имеется в виду. если по alt+f7 из панелей, то там нет возможности искать в файлах по регулярному выражению.
3. в предыдущем своём посте я указывал на медленный поиск в фаре, т.е. задачи "попробовать и сравнить все методы поиска с использованием разных программ" не было :)
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Макрос-альтернатива плагинам (Truncate...)

Post by Max Rusov »

Забавно, что EdtFind ищет быстро, хотя я там пользуюсь регулярками Far'а. Это что же там в стандартном поиске делается такое? :shock:
ccaid
Posts: 908
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

Re: Макрос-альтернатива плагинам (Truncate...)

Post by ccaid »

Max Rusov wrote:EdtFind ищет быстро
может сделать кастомную реализацию плагина? :wink:
выбираешь строчку в меню плагинов, и он быстренько рубит концевые пробелы :facepalm:
или добавить строчку в существующий EdtFind =@
Фар делают добрые люди
darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

Re: Макрос-альтернатива плагинам (Truncate...)

Post by darkmist »


Согласно http://oreilly.com/catalog/9780596002893, lazy modificators в приципе лучше избегать, поскольку они медленнее обычных. Правда, на поиске в Far это не слишком заметно. А вот поиск [ \t] вместо \s работает заметно быстрее.
Last edited by darkmist on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: оверквотинг
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Макрос-альтернатива плагинам (Truncate...)

Post by HaRT »

ccaid wrote:может сделать кастомную реализацию плагина?
Плагинов, которые удаляют концевые пробелы, и так хватает. В этой теме обсуждаются именно макросы.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Locked

Return to “Обсуждение макросов”