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 · 90 камментов · рейтинг 18.62
28.04.2008 · 44 каммента · рейтинг 9.54
06.03.2008 · 29 камментов · рейтинг 7.69
29.08.2007 · 28 камментов · рейтинг 7.36
30.01.2013 · 13 камментов · рейтинг 7.31

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

18.11.2017  JohnКак закрыть окно Skype / свернуть нафиг в трэй: Спасибо, добрый человек! Неимоверно раздражало.
10.11.2017  NikПочему не работает form.submit(): Автор, спасибо за статью 5-летней давности. Подари...
27.10.2017  ДенисОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Блин. А для не в зуб ногой - можно код целиком выл...
17.10.2017  ДубрDenwer - настройка алиасов (ServerAlias): Ахуенно не это, ахуенно то что кто-то пользуется Д...
29.09.2017  Maxтам же: Спасибо, чувак! Это ахуенно, оно заработало!!!

Статсы