Editor.Pos
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
добавить функцию в макроязык
Editor.SetPos(Line, Pos)
позиционирует курсор в соответствующую позицию на соответствующей строке.
Если аргумент равен нулю, берётся текущее значение.
Возвращает 1 в случае успеха, 0 — если неверны аргументы либо позиционировать не удалось (к примеру, номер строки больше чем число строк в файле.)
(или, разделить неправильные аргументы и невозможность точного позиционирования)
позиционирует курсор в соответствующую позицию на соответствующей строке.
Если аргумент равен нулю, берётся текущее значение.
Возвращает 1 в случае успеха, 0 — если неверны аргументы либо позиционировать не удалось (к примеру, номер строки больше чем число строк в файле.)
(или, разделить неправильные аргументы и невозможность точного позиционирования)
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
AltF8 — вариант, но:
забыл про него
появляется мусор в истории.
ну и Editor.SetPos(0,%pos) красивее чем AltF8 : $text %pos Enter
(а если оба параметра значащие, то лапша будет ещё развесистее)
PS: так как про AltF8 я благополучно позабыл, то моё решение выглядело так:
$while (Editor.CurPos!=%cp) $if (Editor.CurPos>%cp) Left $else Right $end $end
PPS:
забыл про него
появляется мусор в истории.
ну и Editor.SetPos(0,%pos) красивее чем AltF8 : $text %pos Enter
(а если оба параметра значащие, то лапша будет ещё развесистее)
PS: так как про AltF8 я благополучно позабыл, то моё решение выглядело так:
$while (Editor.CurPos!=%cp) $if (Editor.CurPos>%cp) Left $else Right $end $end
PPS:
не понял…Кстати, если уж на то пошло, то надо, чтобы эта же функция принимала также параметры, в какую позицию окна (строка, столбец) поместить эту позицию текста.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Skirda
довольно часто начали попадаться ситуации, когда сложным образом переформатируется строка текста, и в итоге курсор улетает куда ему заблогорассудится.
Можно конечно делать ему Home, но раз уж реально оставить на месте, то почему бы и не оставить
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\CtrlD]
"Sequence"="$iClip %cp=Editor.CurPos; CtrlU CtrlC Home $if(Editor.CurPos!=1) Home $end CtrlV CtrlU $while (Editor.CurPos!=%cp) $if (Editor.CurPos>%cp) Left $else Right $end $end"
"DisableOutput"=dword:00000001
вот к примеру, один из таких макросов.
PS: хотя, может это я делаю что-то через одно место
довольно часто начали попадаться ситуации, когда сложным образом переформатируется строка текста, и в итоге курсор улетает куда ему заблогорассудится.
Можно конечно делать ему Home, но раз уж реально оставить на месте, то почему бы и не оставить
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Editor\CtrlD]
"Sequence"="$iClip %cp=Editor.CurPos; CtrlU CtrlC Home $if(Editor.CurPos!=1) Home $end CtrlV CtrlU $while (Editor.CurPos!=%cp) $if (Editor.CurPos>%cp) Left $else Right $end $end"
"DisableOutput"=dword:00000001
вот к примеру, один из таких макросов.
PS: хотя, может это я делаю что-то через одно место
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- HaRT
- Moderator
- Posts: 10863
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Представьте себе, как будто текст файла напечатан на листе прозрачной бумаги. Его можно по разному расположить относительно окна редактора (посредством вертикальной и горизонтальной прокрутки). Помимо того, чтобы ткнуть нашим "карандашом" (курсором) в какую-то часть листа (текста), нужно ещё задать, на какую позицию экрана (окна редактора) придётся эта точка.Kildor wrote:не понял…Кстати, если уж на то пошло, то надо, чтобы эта же функция принимала также параметры, в какую позицию окна (строка, столбец) поместить эту позицию текста.
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
хм…
да, надо бы…
Можно чтоб курсор оставался на том же месте экрана, то есть, чтоб лист двигался относительно неподвижной точки
да, надо бы…
Можно чтоб курсор оставался на том же месте экрана, то есть, чтоб лист двигался относительно неподвижной точки
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Проверочное слово блог?Kildor wrote:Skirda
довольно часто начали попадаться ситуации, когда сложным образом переформатируется строка текста, и в итоге курсор улетает куда ему заблогорассудится.
Я обычно в таких случаях в начало макроса ставлю CtrlShift0, в конец — Ctrl0 и, если нужно, какие-нибудь перемещения.
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Centaur
ахха
Тоже вариант, и кстати, самый экономный в плане длины макроса
ахха
Тоже вариант, и кстати, самый экономный в плане длины макроса
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- HaRT
- Moderator
- Posts: 10863
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Горизонтальная прокрутка в редакторе
Я (правда, в Фаре 1.75) использую прокрутку, предоставляемую плагином EditCrutch. Интересно было бы узнать, работает ли он в Фаре 2.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Горизонтальная прокрутка в редакторе
ну, здесь видимо придется добавить нечто вродеccaid wrote:особенно интересует плавный скроллинг
Code: Select all
Res=Editor.Pos(Op[,Param])
Делать? (если да, то на мантис вишь пишите)
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!