Odpowiedzi:
Wybierz tekst
Naciśnij:
Upewnij się, że wybrałeś „wyrażenie regularne”, naciskając:
Znajdź co: ^\n
Zamień na: (nic, pozostaw puste).
^(\r|\n\r?)
aby pokryć wszystkie możliwe przerwy linii.
^[\s]*?[\n\r]+
?
, ponieważ *
również pasuje do zerowych wystąpień i \s*
będzie pasować do dodatkowego „\ r”, na przykład podczas edycji tekstu systemu Windows w środowisku linux, podobnie ^\s*$
jak i sztuczka.
Wyrażenie regularne w odpowiedzi Hugo jest poprawne, gdy w wierszu nie ma spacji. W przypadku, gdy istnieją spacje regularne, może być^\s+$
^[\s]*?[\n\r]+
zamiast tego. Przetestowałem to i działa.
Istnieją również niektóre wtyczki ST2 / ST3 do takich zadań. Lubię te dwa:
Pierwszy ma dwie metody usuwania pustych / niepotrzebnych wierszy. Jedna z nich nazywa Delete Surplus Blank Lines
się fajna. Usuwa tylko te wiersze, po których następuje kolejna pusta linia
Musiałem użyć:
zamień \ n ^ \ s * \ n na \ n
Https://github.com/NicholasBuse/sublime_DeleteBlankLines plugin nie zrobił nic w ogóle.
Prostsze niż myślałem. Ctrl+ ANastępnie Ctrl+ HWybierz opcję Wyrażenie regularne .*
. Wymień \n\n
się \n
. Voila!
Szukasz tego:
^\n|^\s+$
nie usunie wiersza, jeśli z przodu znajduje się biała spacja lub tabulatory>
na przykład:
nie zostaną one usunięte: ... spacja ... abc
... zakładka ... abc
to:
... przestrzeń ... ... nic więcej ...
... zakładka ... ... nic więcej ...
Korzystanie z wielu wyborów: wybierz jedną parę podziałów linii, a następnie kilkakrotnie użyj szybkiego wyszukiwania wszystkich ( Alt+ F3) lub szybkiego dodawania następnego ( Ctrl+ D), aby zaznaczyć je wszystkie; następnie naciśnij, Enteraby zastąpić je pojedynczymi podziałami linii.
Jest to łatwiejszy sposób na zrobienie tego bez wyrażenia regularnego. musisz tylko zaznaczyć cały tekst. następnie przejdź do: Edytuj -> Permute Lines -> Unique.
To wszystko. i wszystkie puste linie zostaną usunięte.
Istnieje również „Połącz linie”. W systemie OSX zaznacz cały tekst i naciśnij kilka razy CMD-J, a zwinie on zaznaczenie według linii, usuwając podziały linii.
Edycja: dzięki temu podejściu będziesz mieć wszystko w jednym wierszu, a nie o to prosiłeś.
ctrl-q
(makro nagrywania), cmd-j
(łączenie linii) down arrow
, ctrl-q
(makro zakończenia) . Następnie shift-ctrl-q
powtarzaj tak często, jak to konieczne ...
Dla tych, którzy są ciekawi wysublimowanego edytora tekstu, nieoficjalna dokumentacja może być interesująca!
Istnieje wspaniały pakiet (dla Sublime 2 i 3) o nazwie „ Trimmer ”, który usuwa puste linie. Robi także wiele innych przydatnych rzeczy.
Zobacz to: https://packagecontrol.io/packages/Trimmer
W moim przypadku niektóre puste wiersze zawierały przestrzeń o szerokości zerowej znaku Unicode (U + 200b). Aby pozbyć się pustych linii, w tym tych z tym znakiem Unicode:
\s\x{200b}|^\s
Korzystając z funkcji znajdź / zamień, spróbuj wkleić zaznaczenie zaczynające się na końcu linii powyżej pustej linii i kończy się na początku linii po pustej linii. Działa to dla pojedynczej pustej linii. Możesz powtórzyć proces dla wielu pustych linii. CTRL- H, umieść swój wybór w polu wyszukiwania i umieść pojedynczy nowy wiersz w polu zastąpienia za pomocą kopiuj / wklej lub inną metodą.
Aby znaleźć dodatkowe spacje i puste linie, naciśnij Ctrl+ Shift+ F Wybierz Wyszukaj wyrażenia regularne
[\n\r]{2,}
a następnie zamień na
\n
aby usunąć wszelkiego rodzaju spacje w wzniosły i Dreamviewr
Jeśli ^\n
nie działa poprawnie ===> spróbuj .*[^\w]\n