Как мне отредактировать все выделенные экземпляры слова одновременно?
В Notepad ++, когда вы выбираете какое-либо слово в документе HTML (или в вашем CSS), подобные слова автоматически выделяются.
Можно ли использовать ярлык для одновременного редактирования всех выделенных сегментов?

5 ответов
Раньше был способ, которым вы могли просто выделить и сделать что-то, чтобы отредактировать все выделенные части. Я знаю, что вы можете нажать, но ранее был способ, которым вам не нужно было делать это для всего (и не имел ничего общего с командой поиска / замены!)
Я должен добавить, что Ctrl + Click опция не обязательно должна соответствовать словам, поэтому она не связана с выделением похожих слов
В настоящее время способность выделять весь подобный текст и редактировать (например, функциональность Ctrl + D в Sublime, как упомянуто @George) не встроена в Notepad ++ версии 6.9.2. Похоже, это будет работать, когда Notepad ++ обновит версию Scintilla , которую он использует, поскольку функциональность встроена в более новую версию этого .
Единственный способ выполнить что-то похожее на многострочное редактирование, о котором вы говорите, — это либо использовать функцию замены, либо версию мультиредактирования Notepad ++.
Найти / заменить
- Выделите слово, которое вы хотите заменить.
- Введите Ctrl + H , чтобы вызвать диалог замены.
- Изменить текст «Заменить на».
- Выберите «Заменить» или «Заменить все»
Для мультиредактирования
Сначала необходимо включить эту функцию в Notepad ++ . Для этого перейдите в Настройки → Настройки → Редактирование и затем включите многострочное редактирование. Теперь, когда вы удерживаете Ctrl и щелкаете вокруг текста, курсор будет оставаться в месте каждого клика. Когда вы закончите поиск всех мест, которые вы хотите отредактировать, вы можете начать печатать. Все, что вы печатаете, теперь будет появляться в каждом месте, где вы оставили курсор.
How to Replace With Regex Matches in Notepad++
Anyone who claims mastery over regular expressions is a witch. I don’t claim mastery — I just know enough to be alternately useless and useful. I recently have figured out how to perform one new nifty trick with Notepad++ and regular expressions: replacing text with a regular expression match.
It came up when I wanted to do a mass-rename of a front-matter attribute in my blog posts. I needed to identify lines that matched “date: <a sequence of characters that matches a date>” and then change it to “updated: <the same date from above>”.
Regular expressions can find things easily, but I’m also told by witches that it can store the things it finds for later use, and that this is a powerful tool at their disposal. I’ve cracked the code of how to do it in Notepad++.
It should be noted that this is strictly unique to Notepad++. The sad state of regular expressions is that expressions are not entirely portable between different implementations of regex searchers. Heck, grep even has a command-line options to control which implementation of regex it uses.
Notepad++ Search and Replace with Regex Matches
First off, set the Search Mode to Regular Expression. Then you’ll be in a good place to do the rest of these steps:
The Notepad++ regex that matched the ‘date:’ line I was looking for was this:
The dates were a complete timestamp in 24-hour time. The format was “YYYY-MM-DD HH:MM:SS”, so the above regex found all that mess after ‘date:’ The important part are the parenthesis around the expression (i.e., the part in brackets). The parenthesis tells the regex interpreter that this match should be saved.
Recovering that information and using it in the Replace function of Notepad++ looks like this:
The magic here is the ‘(\1)’ — that instructs the regex interpreter to recall the first saved match, which in this case is the date/timestamp. Essentially, this finds every instance of ‘date: ‘ which has an actual date/timestamp after it, saves it, and replaces ‘date:’ with ‘updated:’.
Как в Notepad++ удалить все дубликаты слова?
Пожалуй, поиск и замена. Поле шаблона замены надо оставить пустым, после чего нажать "Заменить всё". Это и удалит все слова (или вообще последовательность символов), заданные как маска, отсель и до конца. Поскольку в этом редакторе фиксировано направление поиска (только вперед или только назад — переключатель в том же окошке Поиск и замена), то все искомые слова, которые есть до точки, в которой запущена операция, не исчезнут.
В Notepad++ можно удалить все дубликаты слова с помощью функции "Find and Replace" (Найти и Заменить). Следуйте этим шагам:
- Откройте файл в Notepad++.
- Выделите весь текст или выберите только ту часть, в которой вы хотите удалить дубликаты слов.
- Нажмите сочетание клавиш `Ctrl + H`, чтобы открыть окно "Replace" (Заменить).
- Перейдите на вкладку "Replace" (Заменить).
- В поле "Find what" (Найти) введите следующее регулярное выражение: `\b(\w+)\b\s+\b\1\b`.
- Оставьте поле "Replace with" (Заменить на) пустым.
- Убедитесь, что опция "Regular expression" (Регулярное выражение) включена.
- Нажмите кнопку "Replace All" (Заменить все).
Это регулярное выражение ищет повторяющиеся слова и удаляет их. Оно работает следующим образом:
- `\b` — указывает на границу слова.
- `(\w+)` — захватывает последовательность букв и цифр в группу.
- `\s+` — соответствует одному или более пробельным символам.
- `\b\1\b` — соответствует повторению захваченной группы (слова) в пределах границ слова.
После выполнения этих шагов все дубликаты слов будут удалены из выбранной части текста.
Регулярные выражения в Notepad++ Замена, дубликаты, удаление, плагины
Notepad++ стал моим первым профессиональным инструментом в веб-разработке и создании сайтов.
И не потому что там есть множество инструментов для работы с исходным кодом, и не из-за обилия плагинов для Notepad++.
Всё проще — в те далёкие времена уроков по веб-дизайну было не так много, а Notepad++ был приведён в статейке по которой я упражнялся. Это было что-то вроде hello-world для HTML. ?
Ещё тогда меня удивил аскетичный интерфейс утилиты и обилие пунктов меню. И до сих пор Notepad++ это самый навороченный текстовый редактор, которым я ежедневно пользуюсь.
В Notepad++, среди прочего, большое внимание уделяется собственному языку регулярных выражений.
Зная как обозначить запрос специальными поисковыми операторами, в Notepad++ можно реализовывать довольно серьезные задачи и работать с большими массивами данных.
Регулярные выражения Notepad++
Регулярные выражения могут использоваться в Notepad++ для множества логических операция: сортировка строк, удаление дубликатов, поиск и замена как отдельных символов, так и целых логических конструкций. По сути горизонт возможностей такого функционала не ограничен и зависит только от вашей фантазии по его применению.
Я позволил себе отсортировать регулярные выражения для Notepad++ в порядке их надобности и популярности использования. ?
\n — Перенос Enter . Что особенно приятно, может использоваться не только для поиска, но и для замены. Например, благодаря этому регулярному выражению, и двум кликам, вы можете поменять построчный список на список через запятую, и наоборот.
\t — Табуляция. Означает то же, что и действие клавиши Tab . Очень полезно, если вы комбинируете работу в excel и notepad++. Знаки tab по умолчанию переносятся как колонки таблицы.
\n\r — Выражение для поиска пустых строк.
\s — Пробел. В большинстве случаем вы можете искать просто введя символ пробела в поле поиска Notepad++, однако в составе сложных регулярных выражений пригодится это обозначение. Например, конструкция ^\s*$ найдёт все строки с пробелом.
^ и $ — Символы начала и конца соответственно.
\d — Этим регулярным выражением в Notepad++ можно обозначить любую цифру. Учитывайте, что под цифрой подразумевается «единичный экземпляр», а не всё число. Например, применив эту комбинацию в тексте с числом 789, последовательно найдутся все три цифры (7, 8, 9) в этом числе.
.(точка) и .*(точка со звёздочкой) — Любой символ и любая последовательность оных соответственно.
\D — Также найдутся любые символы, но не цифры.
[a-z], [A-Z], [a-Z], [0-9] — На мой взгляд, всё и так понятно, но я поясню. Такие регулярные выражения в квадратных скобках означают последовательность букв или цифр, и регистр искомого выражения.
Примеры и применение регулярных выражений в Notepad++
Согласитесь, весь этот список на вид звучит довольно нудно и напоминает что-то среднее между высшей математикой и программированием. ? Мне стоит привести примеры использования регулярных выражений и символов Notepad++.
Удалить пустые строки в Notepad++
Удалить пустые строки с помощью текстового редактора Notepad++ просто — выше я уже писал регулярное выражение для этого — \n\r . Его необходимо ввести в окне поиска и замены. При этом поле Замены оставьте пустым. Все пустые строки удалятся из документа, их место займут данные располагающиеся ниже.
Либо, что конечно же проще, если ваше выражение больше никаких условий не требует, воспользуйтесь пунктом в меню. Edit => Line Operations => Remove empty lines . Там же есть и пункт для удаления пустых строк с пробелом: Containing Blank Characters .
Удалить всё после символа / перед символом в строке в Notepad++
Регулярное выражение удаление всех данных в строке до определенного символа, или их группы я часто использую, например, при сортировке маркетинговых баз с e-mail.
Для того чтобы в Notepad++ удалить всё в строке перед определенным символом, используйте комбинацию .+(искомая-часть). Давайте я разберу подробнее. Например, у нас есть txt файл с почтовыми адресами коллег, по одному адресу в столбик. Кроме того в этой же строке могут содержаться и ФИО человека через пробел, табирование, или через запятую.
Выглядит это вот так:
nastya@mail.ru Анастасия Евгеньевна Петрова
pasha@yandex.ru Павел Иванов Юрлица
vasya@notepad-plus-plus.ru Василий Павлович Работа
И таких контактов с списке у нас 500. Для того чтобы отделить домены, нам понадобится 2 действия в Notepad++, удалить всё в строках до определенного символа, а затем удалить всё в строках после.
Первая регулярное выражение для нас будет .+(@), в поле замены оставляем пустым.
Результат
mail.ru Анастасия Евгеньевна Петрова
yandex.ru Павел Иванов Юрлица
notepad-plus-plus.ru Василий Павлович Работа
Второе регулярное выражение Notepad для удаления после символа, можно сконфигурировать по доменному суффиксу, запрос будет (.ru.+)$.
Удалить дубликаты строк в Notepad++
Удаление дубликатов строк в Notepad++ это вообще отдельная большая тема. Мало кто знает как сконфигурировать поисковой запрос в текстовом редакторе и удалить повторяющиеся строки исключительно через Notepad++, не прибегая к помощи плагинов и сторонних расширений.
Но я — знаю ?. Чтобы удалить построчное дублирование в Notepad, используйте эту фразу:
Важно, чтобы все галочки в поиске у вас были включены. И зациклить поиск, и применять регулярные выражения, тогда Notepad++ точно сработает как надо, и удалит из документа дубли строк.
Второй способ избавится от дублирования строк
Второй способ удалить дубликаты строк с помощью Notepad++ абсолютно не элегантен, но функционален при ежедневном использовании. Навигатор по репозиторию дополнений встроен прямо в ваш Notepad. Просто ставим плагин через меню Plugins => Plugin manager .
Нужный нам плагин называется TextFx Characters.
Не слишком сложно, правда? Устанавливаются плагины автоматически, нужно будет только перезагрузить утилиту. Жмёте установить и активировать.
Функционал плагина местами дублирует многие регулярные выражения в Notepad++, а по-моему мнению собственно на них и основан.
Настройка для удаления дубликатов строк находится в меню: Textfx => Tools => Sort Lines insensetive .
Не забудьте выделить данные в редакторе, перед тем как нажимать.
Notepad++: плагины и альтернативы.
Для начала про плагины. Как вы поняли, в Notepad++ система плагинов весьма интуитивна и встроена в редактор. Но, кроме того, существует и множество других дополнений от сторонних авторов — в этом одна из прелестей freeware софта. Пожалуй, я как-нибудь выложу их обзор, если вам будет интересна тема Notepad и эта статья придётся по вкусу.
Что касается альтернатив, Notepad++ любят за регулярные выражения, легкость, простоту и бесплатность. Такое сочетание вообще, пожалуй, единственное в этом кластере, потому лично я не вижу прямых конкурентов и альтернатив для Notepad.
Но если посмотреть на нишу шире, можно вспомнить про AkelPad (тоже текстовый редактор), Textmate, LeafPad, Sublime Text, Atom, Brackets…Так можно дойти и до моего любимого Adobe Dreamweaver. Однако, всё это по сути уже не то. Notepad++ неповторим, аскетичен, и по своему прекрасен, и очень в духе софта былых времён. ?