SmartSel plugin
- Author
- Message
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
SmartSel plugin
- При нажатии на клавишу HOME курсор перемещается на первый не пробельный символ.
- Нажатие клавиши End перемещает курсор на последний символ в строке, который не является пробелом или табуляцией.
- Исключает последний символ перевода строки (EOL) из выделенного текста.
- При нажатии на клавишу Backspace, если слева от каретки находятся только пробельные символы, то происходит удаление пробельных символов слева до позиции ближайшего первого непробельного символа сверху.
- HOME key goes to first non-space character.
- When End key is pressed, cursor jumps to last non-space/non-tab character
- Excludes last end-of-line (EOL) symbol from selected text.
- When Backspace key is pressed, if from left of the caret only whitespaces, then whitespaces are removed from left to the position of the nearest first non-space character atop.
<< Download>>
- Нажатие клавиши End перемещает курсор на последний символ в строке, который не является пробелом или табуляцией.
- Исключает последний символ перевода строки (EOL) из выделенного текста.
- При нажатии на клавишу Backspace, если слева от каретки находятся только пробельные символы, то происходит удаление пробельных символов слева до позиции ближайшего первого непробельного символа сверху.
- HOME key goes to first non-space character.
- When End key is pressed, cursor jumps to last non-space/non-tab character
- Excludes last end-of-line (EOL) symbol from selected text.
- When Backspace key is pressed, if from left of the caret only whitespaces, then whitespaces are removed from left to the position of the nearest first non-space character atop.
<< Download>>
Last edited by Instructor on Sun Apr 13, 2014 6:30 am, edited 1 time in total.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Instructor
Есть некторые неприятные "мелочи" у NoSelEOL, хотел бы их фикса...
1. Тройной клик на предложении.
Иногда почему-то не выделяется всё предложение.
Поиск верхней части текста производится правильно, а поиск нижней иногда сбивается, т.е. оказывается в текущей позиции курсора.
Почему это происходит я так и не понял. Сначала думал, что делаю 3-й клик чуть быстрее, но и при быстром нажатии иногда текст выделяется правильно.
Никаких хитрых символов в файле нет...
2. Странное поведение выделения на последних 4-х строках файла.
Это можно посмотреть на примере ShiftVerticaly.js (ver. 1.2).
Как воспроизвести:двигать последнюю вверх, и при перемещении предпоследней на место последней-2 у предпоследней "съедается" последний символ.
То же самое происходит, если двигать строку сверху вниз.
Т.е. есть на строках последняя-1, последняя-2 и последняя-3 у редактора (возможно у AkleEdit'а, а может быть у функции NoSelEOL) явные проблемы.
На самом деле то, что мы видим на примере выше - это мой обход ещё большего трабла с расползанием выделения, который можно увидеть если закоментировать строкив обоих направлениях, т.е. и когда nMoveDirection < 0 и когда else.
Для того, чтобы увидеть трабл выделения подготовьте файл, чтобы в нём была только последняя строка, а перед ней 4 строки пустые:подвигать 4-5 строк вверх, а потом вниз, и посмотреть что происходит с выделением.
Причём, если протестить предыдущий файл (где все эти строки заполнены), то такого трабла не будет.
Суть бага - выделение разъезжается только тогда, когда в строке, перед выделением, нет содержимого, т.е. просто идёт перевод строки.
Я с чем-то подобным встречался уже давно, ещё при написании CtrlDown.js, но там не дошло до подробного воспроизведения, т.к. выделять строки, на котором уже установлено выделение, проще и не так видны эти траблы.
Хотелось бы чтобы на всех строках редактор вёл себя одинаково.
Есть некторые неприятные "мелочи" у NoSelEOL, хотел бы их фикса...
1. Тройной клик на предложении.
Иногда почему-то не выделяется всё предложение.
Поиск верхней части текста производится правильно, а поиск нижней иногда сбивается, т.е. оказывается в текущей позиции курсора.
Почему это происходит я так и не понял. Сначала думал, что делаю 3-й клик чуть быстрее, но и при быстром нажатии иногда текст выделяется правильно.
Никаких хитрых символов в файле нет...
2. Странное поведение выделения на последних 4-х строках файла.
Это можно посмотреть на примере ShiftVerticaly.js (ver. 1.2).
Как воспроизвести:
Code: Select all
последняя-4
последняя-3
последняя-2
последняя-1
Последняя строка ФАЙЛА
То же самое происходит, если двигать строку сверху вниз.
Т.е. есть на строках последняя-1, последняя-2 и последняя-3 у редактора (возможно у AkleEdit'а, а может быть у функции NoSelEOL) явные проблемы.
На самом деле то, что мы видим на примере выше - это мой обход ещё большего трабла с расползанием выделения, который можно увидеть если закоментировать строки
Code: Select all
if (!bSelEOL)
{
//код
}
Для того, чтобы увидеть трабл выделения подготовьте файл, чтобы в нём была только последняя строка, а перед ней 4 строки пустые:
Code: Select all
Последняя строка ФАЙЛА
Причём, если протестить предыдущий файл (где все эти строки заполнены), то такого трабла не будет.
Суть бага - выделение разъезжается только тогда, когда в строке, перед выделением, нет содержимого, т.е. просто идёт перевод строки.
Я с чем-то подобным встречался уже давно, ещё при написании CtrlDown.js, но там не дошло до подробного воспроизведения, т.к. выделять строки, на котором уже установлено выделение, проще и не так видны эти траблы.
Хотелось бы чтобы на всех строках редактор вёл себя одинаково.
Last edited by VladSh on Thu Jul 22, 2010 4:30 pm, edited 1 time in total.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
KDJ
And what about those users, where this feature is enabled?
The script even with the "var bSelEOL = true" does not work very well, as I wrote above.
And what about those users, where this feature is enabled?
The script even with the "var bSelEOL = true" does not work very well, as I wrote above.
Last edited by VladSh on Thu Jul 22, 2010 2:35 pm, edited 1 time in total.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Замена на текст, заканчивающийся переносом, работает (пример: заменить "()" на "[]\n").FeyFre wrote:С включеным SmartSel::noSelEol не выполняется замена на текст, заканчивающийся переносом.
А замена текста, который заканчивается переносом, на что-то другое не работает, да (пример: заменить "()\n" на "[]"). В данном случае название функции оправдывает себя: для подобной замены AkelPad сначала выделяет текст, который он хочет заменить, и noSelEol при этом не даёт выделить последний символ переноса.