Edytor tekstu zdolny do uruchamiania złożonych wyrażeń regularnych?

10

Chcę znaleźć edytor tekstu zdolny do działania i głównie do przechowywania wyrażeń regularnych do późniejszego ponownego użycia. Powinien także być w stanie uruchomić je w wielu plikach.

Wiem, że mogę uzyskać to wszystko za pomocą grep, ale nie ma wiele do ponownego użycia. Udało mi się uzyskać funkcjonalność wyrażeń regularnych w Gedit z wtyczkami, ale nie jest to prawie moje potrzeby.

Istnieje EditPad Pro dla Windows (działa na winie), ale natywny jest zawsze lepszy :)

Mashimom
źródło

Odpowiedzi:

18

Dwoma klasycznymi edytorami uniksowymi typu open source są GNU emacs i (g) Vim i oba działają dobrze na Ubuntu. Oba mają więcej funkcji niż możesz się dowiedzieć w ciągu całego życia, w tym to, czego szukasz. Jest jeszcze dwóch innych , ale równie dobrze możesz zacząć od najlepszych. (Postaram się nie docierać, który z nich jest lepszy, ponieważ jest to już epicka święta wojna).

Nawiasem mówiąc, sed jest prawdopodobnie lepszą alternatywą niż grep dla manipulacji RegEx z wiersza poleceń, i możesz pisać i zapisywać dla niego skrypty. (Oczywiście możesz również używać perla, awk i pythona do reg ex).

Trochę inspiracji z xkcd: http://imgs.xkcd.com/comics/real_programmers.png

frabjous
źródło
2
Nienawidzę być tym facetem, ale „też”, a nie „dwa”.
TJ L
Nie! Przepraszam za literówkę. Nie martw się Zwykle jestem tym facetem. Chciałem wspomnieć, że jeśli chcesz pozostać przy gEdit, możesz zainstalować ładną wtyczkę External Tools i używać jej do uruchamiania skryptów sed w buforze.
frabjous
@ tj111 - Nigdy nie przepraszaj za orientację na szczegóły. W naszej pracy byłoby niepokojące, gdybyś NIE myślał, że to ważne. :-)
Scott Smith
15

Geany ma dobry zestaw znalezisk:

znaleźć geany

zastąpić:

geany wymienić

i wyszukiwanie plików:

geany grep

funkcje. Nie ma wbudowanej możliwości zapisywania wyrażeń regularnych na później, chociaż zawsze można je przechowywać w pliku tekstowym.

Ma historię wyszukiwania / zamiany, ale jest ograniczona do jednej sesji.

dv3500ea
źródło
1
Znacznie łatwiej jest po prostu używać Geany, gdy potrzebujesz szybkiego edytora GUI z obsługą wyrażeń regularnych, zamiast konieczności przeglądania Internetu i stron podręcznika w celu poznania składni wyrażeń regularnych w vi (m)
Alex Marshall
6

Jeśli po prostu chcesz uruchomić wyrażenie regularne na wielu plikach, myślę, że nadszedł czas, aby dowiedzieć się o sediawk

maco
źródło
Możesz zapisywać i edytować skrypty w pliku za pomocą sedlub awkteż.
pbhj
2

Możesz użyć kombinacji GEdit i wtyczki Advanced find / replace plugin for gedit, które można znaleźć na stronie http://code.google.com/p/advanced-find/ .

Od 2012 roku ma zakładkę wyrażenie, dzięki czemu można go ponownie użyć. Może także wyszukiwać i zamieniać otwarte pliki, pliki w folderze (z filtrem) lub wewnątrz zaznaczonego tekstu.

Aby dowiedzieć się, jak zainstalować, postępuj zgodnie z instrukcjami na stronie wiki http://code.google.com/p/advanced-find/wiki/Installation .

Zasadniczo musisz zrobić:

  1. Pobierz poprawną wersję swojego programu gedit ze strony http://code.google.com/p/advanced-find/downloads/list .

  2. Rozpakuj to.

  3. Uruchom install.sh (bez sudo).

  4. Przejdź do preferencji / wtyczki i aktywuj ją.

Zrzut ekranu z okna dialogowego Zaawansowane wyszukiwanie / zamiana otwarte

PhoneixS
źródło
1

Chciałem dodać komentarz wskazujący na tę odpowiedź , ale ponieważ najwyraźniej nie mam na to wystarczającej reputacji, powielę ją tutaj jako własną odpowiedź: RegExr jest najlepszym narzędziem, jakiego kiedykolwiek użyłem do manipulacji tekstem za pomocą wyrażeń regularnych. Wyjaśni Ci nawet każdą część wyrażenia regularnego!

To narzędzie online, ale jest wersja na komputer . Korzysta z Adobe AIR, które zostało wycofane z systemu Linux, więc może być konieczne jego zainstalowanie zgodnie z tymi doskonałymi instrukcjami krok po kroku . Następnie pobierz .airplik strony RexExr, do której prowadzi link powyżej, i powinieneś móc go otworzyć za pomocą instalatora AIR. Następnie edytuj!

waldyrious
źródło
1

Jestem naprawdę zaskoczony, że nikt nie wspominał o „medytacji” ... wyszukaj / zamień ma proste pole wyboru informujące medit, że wprowadzone kryteria to wyrażenie regularne ... może być tak proste lub złożone, jak chcesz ...

Michael
źródło
Witamy w AskUbuntu. Byłoby bardziej użyteczne, gdybyś mógł opracować odpowiedź za pomocą przykładów i / lub zrzutów ekranu.
Sri
0

Atom ma tę funkcję. Pobierz i zainstaluj pakiet „deb”.

Naciśnij CTRL+ Fi kliknij .*przycisk, aby przejść do trybu wyrażenia regularnego.

Możesz też nacisnąć CTRL+ ALT+/

Również na github.

Podobne pytanie o tym, jak używać wyrażenia regularnego w atomie.

Lub możesz użyć cati sed.

Użyj, sed -eaby po prostu wydrukować zmiany. Służy sed -ido edycji zawartości pliku.

Zobacz tutaj, aby uzyskać więcej informacji.

Możesz także użyć egrepdo używania wyrażeń regularnych z grep.

Jeśli potrzebujesz tylko znaleźć funkcje zamiany, geditakceptuje wyrażenia regularne, jeśli naciśniesz CTRL+ F.

Możesz także wykonywać wyrażenia regularne w vimie .

mchid
źródło
0

Do tego celu najlepiej jest zaćmienie . Wszystkie ustalenia są dostępne w osobnym okienku. (szkielet) Możesz od razu doskoczyć do dowolnego z nich.

elajmor
źródło