Выделение текста

Russian main discussion
  • Author
  • Message
Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

opk44
C Alt-ом все в порядке ;) Похоже вы говорите немного о другом. Я имею ввиду вот что: где нибудь в многострочном тексте Shift+Alt + нажатие стрелки "вверх" 3 раза. Отпускаем Shift и Alt, нажимаем пробел. С этим проблем нет - пробел вставился во все 3 строки. Но если del или backspace вместо пробела, то не работает :?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Cuprum wrote:в многострочном тексте Shift+Alt + нажатие стрелки "вверх" 3 раза. Отпускаем Shift и Alt, ...del или backspace вместо пробела, то не работает
1. Если я верно понял, то у вас блок размером 3x0 (нулевой ширины)? Так удаление работать не будет (да и не должно). Потому что как справедливо заметил FeyFre, а чего удалять-то, ежели ничего не выделено?.
2. Добавьте к описанной последовательности ваших нажатий (после '"вверх" 3 раза') еще 1-2-3 нажатия стрелки вправо, и потом {del}, вот и будет вам счастье.
3. Кстати, можно выделять мышью с заранее нажатым {Alt}. Это побыстрее чем просто клавишами.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

opk44, всё-таки 3х0 не совсем то что и 0х0. Некоторые скрипты из коллекции работают корректно только с непрерывными скриптами, так что ковыряться в этом функционале нужно основательно(а ещё лучше без крайней нужды не ковыряться).

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

opk44
1. Если я верно понял, то у вас блок размером 3x0 (нулевой ширины)? Так удаление работать не будет (да и не должно). Потому что как справедливо заметил FeyFre, а чего удалять-то, ежели ничего не выделено?
Ну это скорее вопрос терминологии, я предпочитаю называть это (как вы правильно заметили - ведь ничего не выделено) просто курсором растянутым по высоте на 3 строки. Поэтому и ратую за viewtopic.php?p=15041#p15041
Соответственно, хотелось бы иметь функционал, присущий обычному однострочному курсору - в данном случает поддержку del и backspace c поправкой на высоту (количество строк).

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

FeyFre
А нельзя это как то сделать на уровне ядра ? Просто есть редакторы у которых такая фишка поддерживается.

ker
Offline
Posts: 7
Joined: Thu Mar 29, 2012 4:32 am

Post by ker »

Привет) а можно ли где-то настроить, чтоб при выделении всего текста не срабатывала автопрокрутка в самый конец?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

ker
Включаем плагин Scroll::NoScroll.

ker
Offline
Posts: 7
Joined: Thu Mar 29, 2012 4:32 am

Post by ker »

Instructor спасибо :D

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Наверное, сюда. Хотя смахивает на баг. :)

Кратко:
Нужна возможность выделить точно до конца строки при начале выделения с двойного клика.

Подробно:
Ставим в ini WordBreak=111
Начинаем выделение с двойного клика и двигаемся к концу строки.

Было:

Code: Select all

	$s = foo($s);

	$s = bar($s);
После двойного клика ([...] – выделение):

Code: Select all

	$s = [foo]($s);

	$s = bar($s);
Пытаемся выделить до конца строки:

Code: Select all

	$s = [foo($s);

	]$s = bar($s);
А теперь с WordBreak=9, аналогично получаем:

Code: Select all

	$s = [foo($s);

	$s] = bar($s);
Хотелось бы в обоих случаях иметь возможность остановить выделение в конце строки.
Вроде бы, проблема в разделителе перед переводом строки.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Infocatcher
AkelHelp-Rus.htm wrote:WordBreak
256 - Движение прекращается, когда встречается конец строки.
Устанавливаем WordBreak к примеру 265.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor
И правда. :D

Тогда еще вопрос.
Почему при уменьшении области выделения с клавиатуры появляются дополнительные варианты выделения, а при выделении мышкой после двойного клика – нет.

Например, для WordBreak=281 (1+8+16+256).

С клавиатуры, Ctrl+Shift+Right/Left:
|background: #e34500;
[background]: #e34500;
[background:] #e34500;
[background: #e34500];
[background: #e34500;]
И назад:
[background: #]e34500;
[background:] #e34500;

Мышкой, начинаем с двойного клика:
[background]: #e34500;
[background:] #e34500;
[background: #e34500];
[background: #e34500;]
(пока все аналогично)
Идем назад:
[background: #e34500];
[background:] #e34500;

В принципе, не страшно, но хотелось бы одинакового поведения.
Ну, то есть чтобы одни и те же действия можно было сделать и клавиатурой, и мышкой – смотря что в данный момент было под рукой. :)

Вот для выделения мышкой после двойного клика, возможно, надо при уменьшении выделения попробовать делать остановки на каждой границе слово|разделитель и разделитель|разделитель – чтобы получился аналог Shift+Left/Right.

Например, только мышкой не очень удобно выделять вызов средней функции вот в таком случае:
foo(bar());

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Infocatcher
Для мышки точкой разделения на лево и право является место двойного клика. Т.е. если мы будем двигаться влево от точки клика будет как Shift+Left, если вправо, то Shift+Right.

Offline
Posts: 30
Joined: Sat Nov 26, 2011 1:52 pm

Выделить между кавычек и др.

Post by Egor »

Привет! А есть ли возможность создать команду (кнопку на тулбаре или в меню), чтобы при её выполнении выделялся текст от текущего положения курсора назад и вперед до первых кавычек.

Ну то есть проще говоря: "это мой | текст" (палка посередине — | — это курсор), команда должна выделить [это мой текст] (сами кавычки не выделяются).

Вообще, было бы неплохо сделать такое выделение штатной фичей AkelPad (т.е. встроить в него такую внутреннюю команду), причём не только для кавычек "", но и для квадратных скобок [], угловых скобок <>, круглых скобок (), фигурных скобок {}, кавычек-ёлочек «»

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:Для мышки точкой разделения на лево и право является место двойного клика. Т.е. если мы будем двигаться влево от точки клика будет как Shift+Left, если вправо, то Shift+Right.
Ну так не логично же. С Ctrl+Shift+Right/Left можно пойти назад, а тут – нет.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Egor
Scripts plugin к Вашим услугам
Post Reply