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??? →

27.06.2012 · 37 камментов · рейтинг 12.32
15.02.2013 · 22 каммента · рейтинг 10.19
28.04.2008 · 44 каммента · рейтинг 9.84
30.01.2013 · 13 камментов · рейтинг 7.8
29.08.2007 · 28 камментов · рейтинг 7.58

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

18.04.2017  ДубрОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Вячеслав, блин, я там скобку потерял =) Обновил, ...
17.04.2017  Вячеславтам же: вот http://www.totalat.ru/service/remont-akpp-bmw/
17.04.2017  Вячеславтам же: Вашу версию вставил. Даже alert проверочный вывод...
17.04.2017  Вячеславтам же: То что вы там запостили это вместо последнего куск...
17.04.2017  Дубртам же: Привет! 1) код лучше запостить куда-нибудь на ht...

Статсы