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.21
23.01.2013 · 20 камментов · рейтинг 9.55
06.03.2008 · 29 камментов · рейтинг 7.89
29.08.2007 · 28 камментов · рейтинг 7.54
20.03.2014 · 7 камментов · рейтинг 6.59

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

21.05.2017  Vadim GukОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Большое спасибо за решение задачи.
20.05.2017  ДмитрийТестовое задание для PHP-программиста (Junior): А джуны ещё нужны у вас в компании?
18.04.2017  ДубрОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Вячеслав, блин, я там скобку потерял =) Обновил, ...
17.04.2017  Вячеславтам же: вот http://www.totalat.ru/service/remont-akpp-bmw/
17.04.2017  Вячеславтам же: Вашу версию вставил. Даже alert проверочный вывод...

Статсы