Я хотел бы иметь некоторые grep-подобные функции в Notepad ++.
В этой простейшей версии я хотел бы иметь возможность копировать все строки из текущего буфера, содержащие слово, foo
в новый буфер. Я могу использовать плагин TextFX, чтобы скрыть все строки без foo
, но это не делает все, что я хочу (он потерян Alt- Tabя не могу скопировать только совпадающие строки и т. Д.).
grep -v
.Я просто смотрел на этот же вопрос. Я не уверен, если вы знаете; в диалоговом окне «Найти» вы можете найти все в текущем документе, в результате чего внизу появится всплывающее окно с соответствующими строками. Затем вы можете скопировать это в новый документ.
К сожалению, в результаты включена некоторая посторонняя информация (номер строки и т. Д.), Но вы можете отфильтровать ее, используя режим столбца.
источник
Другим отличным решением является использование плагина NppExec для добавления команды grep для Notepad ++.
Основным преимуществом решения «Закладки» является то, что оно работает намного быстрее, особенно для больших файлов, и вам не нужно изменять исходный файл. Обратите внимание, что вам нужно создать небольшой скрипт один раз, чтобы сделать эту функцию доступной в Notepad ++.
Мой пример решения для Windows, и я использую findstr , который является grep-подобным командным инструментом, доступным на всех машинах Windows. Но вы также можете использовать любой другой клон grep по вашему выбору.
Шаг 1: Установите плагин NppExec
Перейдите
Plugins / Plugin Manager / Show Plugin Manager
, прокрутите вниз до NppExec, выберите этот плагин и нажмите «Установить». Возможно, вам придется перезапустить Notepad ++ для завершения процесса установки.Шаг 2. Создайте небольшой скрипт для NppExec
Перейдите
Plugins / NppExec / Execute
, введите следующий скрипт и сохраните его как «grep»:(пожалуйста, перепроверьте, работает ли путь для OUTFILE в вашей среде)
Шаг 3: Добавьте пункт меню для вашего скрипта (необязательно)
Перейдите
Plugins / NppExec / Advanced Options
, выберите сценарий «grep»Associated script
и нажмите «ОК» для сохранения. Перезапустите Блокнот в соответствии с запросом NppExec, чтобы завершить добавление нового пункта меню.Шаг 4. Добавьте ярлык для вашего скрипта (необязательно)
Перейдите
Settings / Shortcut Mapper / Plugin commands
, прокрутите вниз, чтобы найти команду сценария "grep" и определите для нее ярлык. напримерALT-G
источник
$(FULL_CURRENT_PATH)
не будет возвращать пути, если файл еще не сохранен. Вы можете ожидать, что он будет находиться где-то (временный каталог?), Но не совсем. Эта ситуация с несохраненным файлом может быть довольно распространенной, просто вставьте что-нибудь из журнала, чтобы выполнить поиск grep ... мы могли бы усовершенствовать этот сценарий, чтобы сохранить файл, если он еще не сохранен, - но для простоты я просто напомню себе, что нужно сохранить вручную перед grepping. Благодарю.Шаг 5: Создать скрипт для быстрого сохранения и grep документа
Перейдите в Plugins / NppExec / Execute, введите следующий скрипт и сохраните его как «grep»:
источник
findstr
с автосохранением, а не с текущим файлом? (6) Почему в вашем ответе используется и тоC:\temp
и другоеC:\tmp
? …… Пожалуйста, не отвечайте в комментариях; отредактируйте свой ответ, чтобы сделать его более понятным и полным.