Page 2 of 7

Posted: Tue Nov 17, 2009 10:09 pm
by Deft
Fr0sT wrote:Deft
если у тебя текст

что делать? Съедать лишние буквы или двигать столбец "ввв" вправо? Или просто следовать логике "замена выделенного = удаление + вставка на это место", тогда будет второй вариант.
в режиме вставки (INS) сначала выделенный текст удаляется, а затем вставляемый текст добавляется, не перекрывая остальное
ааа ббб ввв ---> aaa гггг ввв

---
в режиме замены (OVR)
1. по идее выделенный текст должен не удаляться со сдвигом хвоста влево, а заменяться на пробелы! (это лично моё мнение - вряд ли так будет реализовано)
тогда вставляемый текст ГГГГ должен слиться со столбиком ВВВ (т.е. фактически выделение не повлекло смещения хвоста)

ааа ббб ввв ---> ааа ггггввв

в итоге: хочешь вставить вместо выделенного - используй INS, хочешь вставлять точно поверх (не зависимо от выделенного) - OVR
вот как раз ты и предлагал (Чт Ноя 12, 2009 11:50 am) сделать возможность двигать блоки (т.е. фактически вставлять пробелы перед выделением либо удалять символы перед выделением), а нужно это как раз для того, чтобы вставлять столбик пробелов в середине текста (либо удалять часть текста перед выделенным столбом)!!! как раз для нашего случая с ГГГГ

2. однако фактически сейчас в режиме OVR выделенный текст при вставке фрагмента удаляется и выделенное по-прежнему схлопывается в нуль со сдвигом хвоста влево, в таком случае если режим замены будет таки работать корректно - столбец ГГГГ должен ещё и затереть ВВВ (т.к. после удаленного столба ббб - ввв заедет под вставляемый гггг)

опять же это в случае если вообще будет реализована хотя бы вставка поверх текста

ааа ббб ввв ---> aaa гггг

Posted: Wed Nov 18, 2009 8:28 am
by Instructor
chris wrote:При множественном нажатии для выделения всей строчки захватывается и начало следующей. Так что при вырезании нижняя автоматом переносится наверх....... :?
Так и в AkelPad 3.x.x происходит.

Posted: Thu Nov 19, 2009 9:26 am
by chris
Instructor wrote:
chris wrote:При множественном нажатии для выделения всей строчки захватывается и начало следующей. Так что при вырезании нижняя автоматом переносится наверх....... :?
Так и в AkelPad 3.x.x происходит.
Например сейчас я пользуюсь 3.6.4 этого нет и не надо никаких фиксов ставить как в новых версиях.

Posted: Fri Jun 11, 2010 8:11 am
by VladSh
Неожиданно удручило то, что при вертикальном выделении столбика и нажатии Tab происходит сдвиг всего текста выделенных строк, а не выделенного стоблика!.. :(
Можно ли как-то подкорректировать действие Tab для вертикального выделения?

Posted: Sat Jun 12, 2010 7:51 am
by Instructor
VladSh
Реализовано. Будет доступно после релиза 4.4.4.

Posted: Tue Jun 15, 2010 11:02 am
by Fr0sT
VladSh
собственно это и является сабжем данной темы ;)
Instructor
>Реализовано
Ура!

Posted: Wed Jul 07, 2010 9:49 am
by VladSh
Instructor wrote:Реализовано. Будет доступно после релиза 4.4.4.
Действительно реализовано.
Но! Как оказалось прога не учитывает то, что в настройках табуляции являются табуляциями, а не пробелами...
Это выражается в том, что:
1). если выделяю несколько строк для вставки блока, то между текстом, после которого делается вставка, и вставляемым блоком вставляются не табы, а пробелы;
2). после вставляемого блока к коротким строкам также добавляются пробелы (лучше бы в моём случае добавлялись табы, если за блоком что-то есть, а если нету, то ничего бы не добавлялось, т.к. на концах строк остаётся куча пробелов).
В результате вроде всё красиво, то имеем дикий микс из табов и пробелов, редактировать который очень неудобно.

Posted: Wed Jul 07, 2010 11:12 am
by Instructor
VladSh
Если текст вставляется за границей строки (после последнего символа в строке), то между последним символом и вставляемым текстом будут вставляться только пробелы - другое не предусмотрено.

Posted: Wed Jul 07, 2010 12:29 pm
by VladSh
Instructor, я так и понял.
Так может предусмотреть? :D

Posted: Wed Jul 07, 2010 5:03 pm
by VladSh
Имеется текст (на самом деле строк очень много):

Code: Select all

Public Const IN_MTEXECUTESTARTSUBJECT

Public Const IN_MTEXECUTEOKSUBJECT
хочу добавить к нему текст:

Code: Select all

 = "MTExecuteStartSubject"
 
 = "MTExecuteOkSubject"
делаю в конце всего первого текста вертикальное выделение, вставляю второй текст, но получаю такой результат:

Code: Select all

Public Const IN_MTEXECUTESTARTSUBJECT = "MTExecuteStartSubject"
 
 = "MTExecuteOkSubject"

Public Const IN_MTEXECUTEOKSUBJECT
:shock:

Posted: Thu Jul 08, 2010 7:35 am
by Fr0sT
VladSh, а что мешает вертикально вырезать второй текст и обычным способом вставить в конец первого?

Posted: Thu Jul 08, 2010 7:40 am
by VladSh
Fr0sT, как это?

Posted: Thu Jul 08, 2010 7:58 am
by Instructor
VladSh
Имеется текст (на самом деле строк очень много):...
Как вставится текст определяется не какое сейчас выделение, а как текст был скопирован (с вертикальным выделением или без).

Posted: Thu Jul 08, 2010 8:25 am
by VladSh
Instructor
Точно... Работает, спасибо! 8)

Posted: Fri Jul 09, 2010 7:37 am
by Fr0sT
VladSh, а, я думал, что у тебя одинаковое количество строк в обоих блоках...