Текстовий редактор, здатний виконувати складні регулярні вирази?


10

Я хочу знайти текстовий редактор, здатний працювати і в основному зберігати регулярні вирази для подальшого повторного використання. Він також повинен мати можливість запускати їх через кілька файлів.

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

Є EditPad Pro для Windows (працює на вині), але рідне завжди краще :)

Відповіді:


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'oh! Вибачте за друкарські помилки. Не хвилюйся. Я, як правило, той хлопець. Я мав намір зазначити, що якщо ви хочете дотримуватися gEdit, ви можете встановити його приємний плагін External Tools і використовувати його для запуску сценаріїв sed на буфері.
frabjous

@ tj111 - Ніколи не вибачайте, що орієнтуєтесь на деталі. У нашому напрямку роботи було б тривожно, якби ви НЕ Вважаєте, що це важливо. :-)
Скотт Сміт

15

Geany має хороший набір:

geany знахідка

замінити:

geany замінити

пошук файлів:

gany grep

особливості. Він не має вбудованої здатності зберігати регулярні вирази на потім, хоча ви завжди можете їх зберігати у текстовому файлі.

У нього є історія пошуку / заміни, але це обмежено одним сеансом.


1
Набагато простіше просто використовувати Geany, коли вам потрібен швидкий редактор графічного інтерфейсу з підтримкою regex, а не копатись через Інтернет та сторінки man, щоб вивчити синтаксис для регулярних виразів in 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 (без судо).

  4. Перейдіть до налаштувань / плагінів та активуйте їх.

Відкрито діалогове вікно розширеного пошуку / заміни


1

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

Це онлайн-інструмент, але є настільна версія . Для цього використовується Adobe AIR, який було припинено для Linux, тому вам може знадобитися встановити його, виконуючи ці чудові покрокові інструкції . Після цього завантажте .airфайл на пов’язану вище сторінку настільного комп'ютера RexExr, і ви зможете відкрити його за допомогою інсталятора AIR. Тоді відредагуйте!


1

Я дуже здивований, що ніхто не згадав про "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.