Usuń / dodaj podziały wierszy po określonym ciągu za pomocą Sublime Text


95

Korzystanie z Sublime Text 2 - Czy możliwe jest wstawienie końca wiersza / powrotu tekstu po określonym ciągu w pliku tekstowym, np. Za pomocą narzędzia ZnajdźZastąp ?

(Pytanie dodatkowe: czy można usunąć wszystkie znaki końca wiersza po określonym ciągu)

Odpowiedzi:


222

Oto, jak możesz to zrobić na komputerze Mac:

Command+ F> Typ string > Control+ Command+ G> ESC> Right Arrow> przerwa linia


i Windows / Linux (nieprzetestowane):

Control+ F> Typ string > Alt+ F3> ESC> Right Arrow> przerwa linia


Ważną częścią jest to, że Control+ Command+ Gwybiera wszystkie dopasowania.
Po wybraniu tekstu, którego szukasz, możesz użyć dostarczonych wielu kursorów, aby wykonać dowolną manipulację tekstem.

Protip: możesz ręcznie utworzyć wystąpienie wielu kursorów za pomocą Command+ kliknięcia (lub Control+ kliknięcia ), aby osiągnąć podobne wyniki.


1
Wydaje się, że to się psuje, gdy spróbuję tego przy wyszukiwaniu wyrażeń regularnych, takich jak(this|that|the other)
Amanda,

1
@Amanda spróbuj Option + Enter zamiast ESC (skrót do przycisku „Znajdź wszystko”).
Sara,

1
Warto wspomnieć, że ta sama taktyka świetnie sprawdza się przy usuwaniu podziałów linii, które kończą się określonym wzorcem, takim jak binarne obiekty blob w plikach .reg systemu Windows: zamiast strzałki w prawo + podział wiersza, spróbuj nacisnąć strzałkę w lewo + usuń, aż uzyskasz żądany związek. Ponadto twoje skróty klawiszowe Windows są poprawne. Nie mam pod ręką instancji Linuksa do przetestowania, ale prawdopodobnie jest w porządku.
Tohuw,

Masz jakąś wskazówkę, jak to zrobić na zaznaczeniu zamiast na całym pliku? Control + Command + G czyści zaznaczenie i znajduje wszystko w całym pliku.
Mauro

2
Wydaje się to teraz takie oczywiste ... dzięki milionowi! Ponadto @Mauro - pracuję w systemie Windows i mogę użyć ctrl + d, aby wybrać następną iterację zaznaczenia. Być może ta sama funkcjonalność istnieje na MAC z Command + d? Być może będziesz musiał nacisnąć go wiele razy, aby przejrzeć cały plik
shanehoban

65

Za pomocą narzędzia Znajdź - zamień można to zrobić na dwa różne sposoby:

  1. Kliknij pole Zamień i naciśnij Ctrl+, Enteraby wstawić nowy wiersz (pole powinno zmienić rozmiar, ale tak się nie dzieje, więc trudno jest zobaczyć wstawiony nowy wiersz).

  2. W narzędziu Znajdź - Zamień aktywuj tryb S&R regex (pierwsza ikona po lewej stronie .*, skrót klawiaturowy to Alt+ Ctrl/Cmd+, Raby go aktywować / dezaktywować).

  3. Wpisz \nw polu Zamień wszędzie tam, gdzie chcesz wstawić nowy wiersz.

Oba rozwiązania działają również, jeśli chcesz znaleźć nowe linie, po prostu zrób to w polu Znajdź .


Nie mogę znaleźć trybu regex S&R, ale pierwsze rozwiązanie działa dobrze!
hhh

@hhh: Jeśli otworzysz plik Znajdź-zamień , tryb regex S&R jest pierwszą ikoną po lewej stronie menu narzędzi (wygląda jak. *)
veducm

@veducm Tak, widzę tę ikonę odpowiadającą polu wyszukiwania, ale nie polu zastępowania. Może dlatego, że mam niezarejestrowaną wersję?
hhh

1
@hhh jest tylko jedna ikona i gdy jest włączona, ma zastosowanie do obu pól.
veducm

8

Edycja-> Linie-> Połącz linię (Ctrl + J)


U mnie to działa w edytorze Atom! Wybierz punkt i Ctrl + J .
rolfedh

4

Prawdopodobnie powinieneś użyć wielu kursorów. Zobacz nieoficjalną dokumentację lub ten fajny poradnik . Oto kilka krótkich instrukcji, które pomogą Ci znaleźć drogę:

  1. Umieść kursor na interesującym cię ciągu.
  2. Rodzaj Command + D(Mac) lub Control+ D(Windows / Linux), aby zaznaczyć bieżące wystąpienie ciągu.
  3. Rodzaj Command + D(Mac) lub Control+ D(Windows / Linux), aby wybrać kolejne wystąpienia ciągu.
  4. Alternatywnie wpisz Control+ Command+ G(Mac) lubControl + Command+, Gaby zaznaczyć wszystkie wystąpienia łańcucha.
  5. Teraz masz wiele kursorów, więc wstaw lub usuń nowy wiersz, jak chcesz.
  6. (rodzaj esc aby wyjść z trybu wielu kursorów).

Baw się dobrze!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.