Я ищу текстовый редактор, который позволяет сохранять и редактировать список выражений для поиска и замены (поиск в нескольких файлах — это плюс).

Вопрос или проблема

Я ищу текстовый редактор для Linux (я использую Ubuntu 22.04.1 LTS), который может сохранять, позволять редактировать и выбирать из списка замены. Я посмотрел вокруг и не могу найти то, что мне нужно.

В данный момент я использую комбинацию Altsearch and replace, расширение Libreoffice, плюс окно поиска и замены Libreoffice, потому что не все выражения работают в вышеупомянутом расширении (хотя оно позволяет использовать список поисков). Это одна из причин, почему я ищу текстовый редактор.

Другой причиной является то, что книги и статьи, изначально отредактированные в Libreoffice, в конечном итоге превращаются в документы md и latex.

Я знаком с BBedit, который был бы идеален, но он доступен только для Mac.

Поэтому я хотел бы иметь возможность использовать текстовый редактор, который:

Имеет графический интерфейс и позволяет

  • использовать регулярные выражения
  • хранить список выражений поиска и замены с заголовками
  • легко редактировать этот список, выбирая, какое выражение поиска и замены используется в данный момент
  • искать и заменять в нескольких файлах (это было бы плюсом)
  • является многоплатформенным (Mac, Windows, Linux)
  • бесплатен и с открытым исходным кодом (хотя, если существует хороший платный редактор, я открыт для этого)

Надеюсь, кто-то сможет помочь.

Я использую VSCode на Windows уже некоторое время для своих нужд редактирования текста. У них, по всей видимости, есть версии для Linux и Macintosh. Он поддерживает поиск и замену в открытых файлах, даже с регулярными выражениями. Он бесплатен на всех платформах, но только вроде как не совсем открытый исходный код. У него также есть широкий спектр плагинов и расширений, которые вы можете применять к своей конкретной разработке, и подсветка синтаксиса для многих текстовых форматов (json, xml, C++, python и т. д.).

Этот плагин, похоже, добавляет возможность делать то, что вы спрашиваете: https://marketplace.visualstudio.com/items?itemName=bhughes339.replacerules

Проверьте редактор atom, много дополнений https://atom.io, и вы можете писать свои собственные добавления и скрипты, это редактор с возможностью модификации и он бесплатен и с открытым исходным кодом.

Если вы не можете установить через стандартные или платные пакеты, попробуйте установить через snap.

Используйте его на OS X, Windows или Linux.

Посмотрите это для установки на ubuntu:

Как установить текстовый редактор Atom на Ubuntu 20.04

Поиск и замена с компонентами RegEx в редакторе Atom

Он не кроссплатформенный (только для Linux), но Shule, похоже, делает то, что вам нужно. Текущая версия 0.1.2 оптимизирована для Xubuntu 22.04.4. Так что он должен работать для вас. Я опишу, как сделать то, что вы хотите, ниже.

После установки и настройки Shule перейдите в Правка->Найти->Редактировать функции регулярных выражений (ere).

Кстати: ere — это сочетание клавиш для выполнения того же действия (т.е. нажмите меню и введите ere в появившемся окне).

Затем откроется functions.py, который находится где-то в общих данных Shule.

Этот файл предназначен для определения функций в стиле Python, которые будут выполняться для замены текста по совпадениям регулярных выражений. Однако вы можете предварительно определить регулярные выражения для использования вместе с функцией.

Хотя вы можете назвать всю функцию, предопределенные регулярные выражения ссылаются на номер внутри функции.

Итак, если вы сделаете эту функцию в functions.py и сохраните ее:

name:
    #1"""\d+"""
    text=self.rrn.random_both()

То каждый раз, когда вы вводите name 1 в поле функции поиска регулярных выражений, он заменит все числа на случайно сгенерированные реальные имена. Если вы просто введете name без единицы, то он сопоставит любое регулярное выражение, которое у вас есть в поле поиска. self.rrn.random_both() — это метод самого текстового редактора; вы можете просмотреть исходный код, чтобы найти больше методов, если вы хотите поэкспериментировать с ними (вы можете увидеть методы, используемые в меню, посмотрев на код меню, чтобы понять, какие методы они выполняют).

Вот более иллюстративный пример с меньшими отвлекающими факторами:

tester:
    #1"""\d+"""
    #2""".+"""
    text="Hello."

Таким образом, всякий раз, когда вы вводите tester 1 в поле функции поиска регулярных выражений, он будет сопоставлять непрерывные числа и позволять вам заменять их на Hello. Если вы введете tester 2 в поле функции, он будет сопоставлять целые строки и позволять вам заменять их на Hello.

Однако поле функции существует только в диалоге поиска и замены; его нет в диалоге поиска. Если вы не хотите ничего заменять, вы также можете выполнять поиск из диалога поиска и замены, конечно. Структурируйте свои функции следующим образом:

tester:
    #1"""\d+"""
    pass

Слово pass просто означает, что вы ничего не делаете; вы просто используете это для поиска регулярного выражения \d+.

Он не откроет список доступных методов в поле поиска. Вам действительно нужно это помнить. Если вы забудете их, то откройте functions.py снова и посмотрите.

В диалоге поиска и замены обязательно очищайте поле ввода функций перед тем, как использовать что-либо в поле ввода Найти (иначе оно выполнит функцию вместо этого).

Также имейте в виду, что в поле поиска регулярных выражений вы можете отменить и повторить команду, чтобы найти старые регулярные выражения, которые у вас были в текущем сеансе.

Ответ или решение

Для того чтобы найти текстовый редактор, отвечающий вашим требованиям спецификации, я предлагаю рассмотреть несколько популярных решений, доступных на платформе Linux, включая системы с графическим интерфейсом и гибкие функции поиска и замены.

1. Visual Studio Code (VSCode)

Описание:
VSCode – это мощный редактор кода, который предлагает множество функций, которые могут помочь вам в редактировании текстов. Он доступен для всех основных операционных систем (Linux, Windows, MacOS) и является бесплатным.

Возможности:

  • Поддержка регулярных выражений для поиска и замены.
  • Возможность установки расширений, таких как Replacerules, который позволяет создавать и управлять списком правил поиска и замены.
  • Работа с множеством файлов одновременно.

Недостатки:
Несмотря на то, что VSCode имеет открытый исходный код, он не является полностью открытым проектом, что может быть важным для некоторых пользователей.

2. Atom

Описание:
Atom – это редактор, который позиционирует себя как "хакерский" текстовый редактор, который можно настраивать под себя. Он также кросс-платформенный и бесплатный.

Возможности:

  • Разграничение по тегам и возможность создания собственных дополнений.
  • Поддержка регулярных выражений для поиска и замены.
  • Возможность работы с несколькими файлами.

Установка:
Вы можете установить Atom на Ubuntu через стандартные пакеты или с помощью snap. Подробное руководство по установке доступно здесь.

3. Notepadqq

Описание:
Notepadqq – это текстовый редактор, предназначенный для Linux, который напоминает Notepad++ с поддержкой множества языков программирования.

Возможности:

  • Удобный интерфейс и богатый функционал.
  • Поддержка регулярных выражений для поиска и замены.
  • Подходит для работы с несколькими файлами одновременно.

Установка:
Notepadqq можно установить через apt пакетный менеджер, например:

sudo apt install notepadqq

4. Geany

Описание:
Geany – это легкий текстовый редактор с функциями интегрированной среды разработки (IDE), который также может быть использован для работы с текстовыми документами.

Возможности:

  • Поддержка синтаксической подсветки для множества языков.
  • Функции поиска и замены с использованием регулярных выражений.
  • Возможность редактирования множественных файлов.

Заключение

Каждый из упомянутых редакторов имеет свои уникальные особенности и преимущества. Visual Studio Code и Atom являются наиболее подходящими вариантами, так как они предлагают множество расширений и функционал, позволяющий сохранять и редактировать список выражений поиска и замены.

Учитывая ваши требования к открытости программного обеспечения и возможность работы на различных платформах, я рекомендую изучить возможности Visual Studio Code и Atom более детально. Удачи в ваших поисках, и пусть ваш опыт редактирования текстов будет продуктивным!

Оцените материал
Добавить комментарий

Капча загружается...