Dubrowsky
Хроники одного дупла
Блогово  →  WebDev  → 

Прямоугольное выделение текста в NetBeans и jEdit (rectangular selection, вертикальное выделение)

05 Июня 2015 года

Я тут заметил еще одну штуку, которая есть в jEdit и которой мне категорически не хватало в NetBeans. Как водится, на самом деле все есть, надо было только осмыслить и загуглить. Штука - прямоугольное выделение текста. Однажды, сидя за спиной у коллеги-кодера, случайно выяснил, что штука эта известна не всем, а зря. Рассказываю.

Что такое rectangular selection?

В обычном режиме текст выделяется строчка за строчкой. В режиме вертикального выделения текст можно представить как матрицу символов (табличку, проще говоря), при выделении мышкой или стрелками с Shift выделяется прямоугольная область этой таблички. То есть можно выделить, например, каждый второй-третий-четвертый символы из пятой-шестой-седьмой строки. Круто, правда?

Зачем оно нужно?

Во-первых, для всякого мелкого форматирования и редактирования. Например, нужно стырить кусок кода из диффа с Гитхаба. Вставляем, но в начале каждой строчки будут плюсики или минусики (потому что из диффа). Их можно удалить вручную, но на 10 строк кода это будет 20 нажатий (вниз - Backspace, вниз - Backspace, как в анекдоте про верстальщика, который едет в поезде и слышит "тээр-тэдэ, тээр-тэдэ"). Куда приятнее выделить эти 10 плюсов мышкой и один раз нажать Delete.

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

Реальный пример

Посчитать сумму цифр в табличке на каком-то сайте. В нашем распоряжении: текстовый редактор jEdit и калькулятор имени Яндекса. Решение:

  1. Копипастим табличку прямо в редактор.
  2. Нажимаем Alt+\ (backslash)
  3. Выделяем нужные цифры (благо при копировании таблички в текст она размечается табами)
  4. Ctrl+X (вырезаем в буфер), Ctrl+A / Del (удаляем все нафиг)
  5. Ctrl+F (окно поиска), проверяем, что режим регулярок включен
  6. Найти: "\n", заменить: "+" - жмем "Replace all", получаем строчку "1+2+3+4" и т.д.
  7. Копипастим ее в Яндекс
  8. ???
  9. Видим ответ!!!

Наверное, в экселе это делается чуть быстрее, но пока он загрузится, я уже все два раза посчитаю (потому что редактор и браузер открыты всегда).

"Прямоугольная вставка"

Еще одна занятная фича - вставка текста в выделенную область при прямоугольном режиме. Работает одинаково и в jEdit, и в NetBeans. Примерно так:

  • Открываем какой-нибудь адовый конфиг типа php.ini
  • Находим там ненужные строчки, например блок xdebug
  • Выделяем мышкой прямоугольную область начиная с нулевого символа каждой строки, шириной ноль символов (ага, так можно!)
  • жмем на клавиатуре ";" (точку с запятой)
  • вуаля - символ появляется в каждой строке, то есть мы легким движением руки закомментировали весь блок!

Прямоугольное выделение текста в jEdit

Включается путем нажатия кнопок Alt+\ (backslash). Выключается теми же кнопками. Кнопки можно настроить в Utilities / Global options / Shortcuts / Rectangular selection.

Еще есть переключалка-индикатор в нижнем правом углу окна, где кодировка, память и много непонятных буковок. Вот буковка "r" - это оно. Если буковка маленькая - прямоугольный режим выключен, если большая - включен. Клик по буковке переключает режим (если попадешь, ага).

Прямоугольное выделение текста в NetBeans IDE

Включается/выключается нажатием клавиш Ctrl+Shift+R, или мышью с панельки:

В русской версии называется "Переключать прямоугольный выбор", шорткат можно настроить в окошке "Сервис / Параметры / Назначения клавиш". 

В NetBeans на этот режим указывает поведение курсора: при мигании он не исчезает, а превращается в уродскую волнистую хреновню. Слегка бесит, но можно простить, ок.

Камменты

Дениска02.07.2015, 06:57#
Прикольная штука, спасибо тебе автор. Я тоже не знал, а очень удобно на самом деле!

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

02.10.2012 · 92 каммента · рейтинг 17.45
27.06.2012 · 37 камментов · рейтинг 10.83
30.01.2013 · 13 камментов · рейтинг 6.75
28.03.2008 · 24 каммента · рейтинг 6.73
19.01.2008 · 20 камментов · рейтинг 6.09

Последне камменты

24.09.2018  СаняТестовое задание для PHP-программиста (Junior): Хороший пример) А можно ради разнообразия аналогич...
31.07.2018  ДубрНаконец-то, нормальная работа с LESS в NetBeans: Sergio, вообще NetBeans кажется предлагал компилит...
18.07.2018  яндекс диск моя страницаНовый Яндекс.Браузер - браузер "Yandex" (отзыв / обзор): всем рекомендую
24.06.2018  SergioСвязь: Уважаемое автор. Прочитал статью про NetBeans и ...
21.06.2018  SergioНаконец-то, нормальная работа с LESS в NetBeans: Уважаемое "дупло"(автор). Как включить LESS в Net...

Статсы