Текстовый редактор, способный запускать сложные регулярные выражения?


10

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

Я знаю, что могу получить все это с помощью grep, но для повторного использования не так много. Мне удалось получить некоторые функциональные возможности регулярных выражений в Gedit с помощью плагинов, но не совсем близко к моим потребностям.

Существует EditPad Pro для Windows (работает на Wine), но родной всегда лучше :)

Ответы:


18

Два классических редактора Unix с открытым исходным кодом - это GNU emacs и (g) Vim, и оба прекрасно работают в Ubuntu. Они оба имеют больше возможностей, чем вы можете узнать за всю жизнь, включая то, что вы ищете. Есть еще два других , но вы можете начать с лучшего. (Я постараюсь не понимать, что из этого лучше, поскольку это уже эпическая священная война.)

Кстати, sed - это, вероятно, лучшая альтернатива, чем grep, для манипуляций с RegEx из командной строки, и вы можете написать и сохранить сценарии для него. (Конечно, вы можете использовать perl, awk и python для reg ex.)

Некоторое вдохновение от xkcd: http://imgs.xkcd.com/comics/real_programmers.png


2
Я ненавижу быть тем парнем, но «слишком», а не «два».
TJ L

D'о! Извините за опечатку. Не беспокойся Я обычно тот парень. Я хотел упомянуть, что если вы хотите придерживаться gEdit, вы можете установить его красивый плагин External Tools и использовать его для запуска сценариев sed в буфере.
fragjous

@ tj111 - Никогда не извиняйся за детализацию. В нашей работе было бы тревожно, если бы вы НЕ ДУМАЛИ, что это важно. :-)
Скотт Смит

15

У Джани есть хороший набор находок:

Джини найти

заменить:

Geany заменить

и поиск файлов:

Geany Grep

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

У него есть история поиска / замены, но он ограничен одним сеансом.


1
Гораздо проще просто использовать Geany, когда вам нужен быстрый графический редактор с поддержкой регулярных выражений, а не копаться в Интернете и на страницах man, чтобы узнать синтаксис регулярных выражений в vi (m)
Алекс Маршалл,

6

Если вы просто хотите запустить регулярное выражение с кучей файлов, я думаю , что это время для вас , чтобы узнать о sedиawk


Вы можете сохранять и редактировать сценарии в файле с sedили awkтоже.
pbhj

2

Вы можете использовать комбинацию GEdit и плагина, Advanced find / replace plugin for geditкоторый вы можете найти в http://code.google.com/p/advanced-find/ .

С 2012 года он имеет функцию закладки выражения, чтобы вы могли использовать его повторно. Также он может искать и заменять открытые файлы, файлы в папке (с фильтром) или внутри выделенного текста.

О том, как установить, вы можете следовать инструкциям на вики-странице http://code.google.com/p/advanced-find/wiki/Installation .

В основном, что вы должны сделать, это:

  1. Загрузите правильную версию для своего gedit с http://code.google.com/p/advanced-find/downloads/list .

  2. Распакуйте его.

  3. Запустите install.sh (без sudo).

  4. Зайдите в настройки / плагин и активируйте его.

Снимок экрана: расширенный диалог поиска / замены


1

Я хотел добавить комментарий, указывающий на этот ответ , но, по-видимому, у меня недостаточно репутации для этого, я продублирую его здесь как собственный ответ: RegExr - лучший инструмент, который я когда-либо использовал для манипулирования текстом используя регулярные выражения. Это даже объяснит каждую часть регулярного выражения для вас!

Это онлайн-инструмент, но есть настольная версия . При этом используется Adobe AIR, который был прекращен для Linux, поэтому вам может потребоваться установить его, следуя этим превосходным пошаговым инструкциям . После этого загрузите .airфайл для страницы рабочего стола RexExr, ссылка на которую приведена выше, и вы сможете открыть его с помощью установщика AIR. Тогда редактируйте прочь!


1

Я действительно удивлен, что никто не упомянул 'medit' ... поиск / замена имеет простой флажок, говорящий medit о том, что введенные вами критерии являются выражением регулярного выражения ... могут быть настолько простыми или сложными, насколько вам нравится ..


Добро пожаловать в AskUbuntu. Было бы более полезно, если бы вы могли разработать ответ с примерами и / или скриншотами.
Шри

0

Атом имеет эту функцию. Загрузите и установите пакет «deb».

Нажмите CTRL+ Fи нажмите .*кнопку, чтобы перейти в режим регулярных выражений.

Кроме того, вы можете нажать CTRL+ ALT+/

Также на github.

Связанный вопрос о том, как использовать регулярные выражения в атоме.

Или вы можете использовать catи sed.

Используйте, sed -eчтобы просто распечатать изменения. Используйте sed -iдля фактического редактирования содержимого файла.

Смотрите здесь для получения дополнительной информации.

Вы также egrepможете использовать регулярные выражения с grep.

Если вам просто нужно найти функции замены, geditпринимает регулярные выражения, если вы нажмете CTRL+ F.

Вы также можете делать регулярные выражения в vim .


0

Затмение лучше, хотя и немного тяжелое для этой цели. Все результаты доступны в отдельной панели. (скелет) Вы можете сразу перейти к любому из них.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.