Проблема с закладками в редакторе

Здесь обсуждается всё, что касается макросов.
Post Reply
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Проблема с закладками в редакторе

Post by DominiK »

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

Я хочу сделать в редакторе такой вот макрос:

Code: Select all

RCtrl9 CtrlA CtrlX F8 CtrlV CtrlU Ctrl9
Идея незатейлива - сменить кодировку DOS на WIN или наоборот.

Так вот, восстановление позиции по закладке работает некорректно. Курсор прыгает на нужнее знакоместо по горизонтали, а вот по вертикали - фиг его знает, куда-то вверх. Макросы тут не при чем, ибо точно та же проблема при ручном воспроизведении последовательности.

Мож я где-то туплю? :)

FAR 2051, Win XP SP2
User avatar
HaRT
Moderator
Posts: 9695
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 124 times
Been thanked: 254 times

Post by HaRT »

Думаю, что это не ошибка.
Вероятно, дело в том, что при удалении всего содержимого файла все закладки переезжают в первую строку, т.к. других строк уже просто нет. А дальнейшее добавление в конец вряд ли способно восстановить положение закладок.
Для перекодирования можно пользоваться программой ZD2T.exe.
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Post by DominiK »

Вероятно... А жаль.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Post by zg »

DominiK wrote:Вероятно... А жаль.
а что мешает запомнить положение, а потом его востановить?
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Post by DominiK »

zg
В смысле? В случае с закладками по RCtrl-цифра - см. начало темы. Или есть какой-то другой способ?
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Post by zg »

DominiK wrote:Или есть какой-то другой способ?
rtfm: Editor.CurLine и Editor.CurPos.
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Post by DominiK »

Так-так-так, это интересно!
Просто я изучаю новый макроязык всего пару дней и, хотя он и простой, пока нутром его не чувствую :)
Возничает вопрос: перебросить курсор в нужную позицию файла - это, конечно, замечательно. Но в идеале хотелось бы еще и управлять положением этой строки на экране... Ну да ладно.
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 536
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Contact:

Post by Zeroes »

если бы кто-нибудь глянул мои макросы опубликованные здесь на форуме то увидели бы пример:

Code: Select all

REGEDIT4

;конвертация циклически текста в разные кодировки
;курсор при этом стоит на месте

[HKEY_CURRENT_USER\Software\Far\Users\Zeroes_And_Ones\KeyMacros\Editor\CtrlF9]
"Sequence"="$IClip RCtrl9 %CurLine=Editor.CurLine; CtrlA ShiftDel ShiftF8 Down Enter ShiftIns CtrlU Ctrl9 AltF8 $Text %CurLine Enter"
"DisableOutput"=dword:00000001
--- Zeroes & Ones ---
User avatar
DrKnS
Posts: 5813
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 346 times

Post by DrKnS »

Макрос конечно хороший, курсор стоит на месте, но закладки все равно валятся в первую строку...
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Post by DominiK »

DrKnS wrote:Макрос конечно хороший, курсор стоит на месте, но закладки все равно валятся в первую строку...
Странно, но у меня на вторую :)
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

DominiK и DrKnS
Во что на сей момент фар делает с закладками:
есть некая довольно простая логика, если стёрли строку ниже сохранёной позиции букмарка то его позиция декрементится, если вставили до инкрементится. Логика эта с моей колоколни довольно логичная и не подходит в общем только для вашего случая.

А макрос можно сделать вообще вот так

Code: Select all

[HKEY_CURRENT_USER\Software\Far\Users\Zeroes_And_Ones\KeyMacros\Editor\CtrlF9]
"Sequence"="$IClip %CurPos=Editor.CurPos; %CurLine=Editor.CurLine; CtrlA ShiftDel ShiftF8 Down Enter ShiftIns CtrlU AltF8 $Text %CurLine , $Text %CurPos Enter" 
"DisableOutput"=dword:00000001
DominiK
Posts: 234
Joined: Wed 06 Apr, 2005 18:38
Location: Ростов-на-Дону
Contact:

Post by DominiK »

t-rex wrote:есть некая довольно простая логика, если стёрли строку ниже сохранёной позиции букмарка то его позиция декрементится, если вставили до инкрементится.
Да я уже сам понял :)
t-rex wrote:А макрос можно сделать вообще вот так...
Понимаешь, просто вернуть курсор на нужное место не проблема - я уже несколько способов придумал. В идеале хотелось бы еще, чтобы содержимое экрана вообще не менялось - то есть курсор оставался неподвижным не только относительно самого файла, но и экрана.
Впрочем, ладно, фиг с ним - проехали... :)
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Идея незатейлива - сменить кодировку DOS на WIN или наоборот.
Т.е. перекодировать? Если так, то чем не подходит плуг CpToCp? Курсор (и текст на экране тоже) стоит на месте работает быстро, рисует прогресс.
http://anfilat.chat.ru/far.htm#cptocp
Post Reply

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