Jak automatycznie przycinać końcowe białe znaki za pomocą Notepad ++?

69

Nie chcę całkowicie usuwać pustych linii, ale chcę usunąć końcowe tabulatory i białe spacje. Eclipse zwykle robi to (poprzez ustawienie preferencji) podczas zapisywania pliku.

Na przykład plik przed zapisaniem ($ = koniec wiersza):

def shuffle(list):$
    import random $
    $
    random.shuffle(list)
    $
$

... a kiedy zapiszę to w edytorze, Eclipse wykonuje następujące czynności:

def shuffle(list):$
    import random$
$
    random.shuffle(list)
$
$

Jak mogę automatycznie przycinać końcowe białe znaki za pomocą Notepad ++?

Srikanth
źródło
Aby przyciąć białe znaki z wielu plików jednocześnie, wykonaj Znajdź i zamień dla wyrażenia regularnego [ \t]+$. ( Zrzut ekranu ) ( Źródło )
Stevoisiak

Odpowiedzi:

73

Powinieneś być w stanie wykonać wyszukiwanie / zamianę wyrażenia regularnego w Notepad ++ przy użyciu wzorca podobnego do \s+$.

Istnieje również kilka opcji w menu Edycja -> Puste operacje, które mogą pasować do twoich potrzeb.

W menu „Makro” dostępna jest opcja „Przytnij śledzenie i zapisz”. Jeśli potrzebujesz zrobić wyrażenie regularne, możesz utworzyć makro, ale nigdy ich nie wypróbowałem.

johanno
źródło
9
tak, w mojej wersji Notepad ++ istnieje Edit -> Trim Trailing Space, ale czy mogę wyzwalać to automatycznie dla każdego zapisu?
Srikanth
5
W menu Makro dostępna jest opcja „Przytnij trailing and save”
jan
22
Przypisałem klawisz Ctrl + S do Macro -> Trim Trailing and saveopcji, używając Settings -> Shortcut Mapper...opcji. Jest to o wiele lepsze niż konieczność ciągłego uruchamiania makra. :)
Casey Kuball
Wyszukiwanie \s+$będzie pasować do dowolnej pustej linii, niezależnie od białych znaków. Polecam [ \t]+$zamiast tego. (Zobacz Jak usunąć końcowe białe znaki za pomocą wyrażenia regularnego? )
Stevoisiak
63

Alt+ Shift+ Srobi to, co chcesz. W rzeczywistości zapisuje również plik.

Aktualizacja

Jak zauważono w 10basetom, do tego makra można przypisać inny skrót. Możesz kontrolować swoje skróty w Ustawienia> Mapowanie skrótów> [Makra] .

wprowadź opis zdjęcia tutaj

kon psych
źródło
10
Aby usunąć końcowe spacje podczas zapisywania: (1) Usuń domyślny skrót Zapisz (Ctrl + S), a następnie (2) przypisz makro „Trim Trailing and save” do Ctrl + S.
thdoan
1
Aby usunąć domyślny Saveskrót, kliknij dwukrotnie Shortcutpole, a następnie wybierz Nonez pola kombi.
Mitch
2
Znalazłem tę stronę, zaktualizowałem skróty, tak jak zasugerowałeś i korzystałem z niej długo i szczęśliwie. Niedawno musiałem skonfigurować nową maszynę i zupełnie zapomniałem, jak to zrobiłem wcześniej ... Ponownie przeszukałem i ponownie znalazłem tę odpowiedź! Powinieneś dostać +2 za pomoc w ten sposób!
Stijn de Witt
Ustawienia>
Mapowanie
To powinna być dla mnie wybrana odpowiedź ^^
Nam G VU
4

Wtyczki> Menedżer wtyczek> Pokaż menedżera wtyczek
Na karcie Dostępne wybierz EditorConfig i kliknij [Zainstaluj]

Dodaj .editorconfigplik do folderu (nadaj mu nazwę, .editorconfig.aby uniknąć błędu systemu Windows „Musisz wpisać nazwę pliku” - ostatnia kropka zostanie usunięta)

# trims trailing whitespace for all files; filter like [*.{json,xml}]
[*]
trim_trailing_whitespace = true

EditorConfig może również określać kodowanie, wcięcia i znaki nowego wiersza itp.

Webveloper
źródło
1
Wygląda na to, że wtyczka EditorConfig dla Notepad ++ nie obsługuje opcji trim_trailing_whitespace
jpa
1
Wsparcie dla trim_trailing_whitespacezostało dodane w dniu 2016-04-20 . / cc @jpa
Stijn
Chciałbym móc jeszcze bardziej głosować na ten temat, nawet jeśli tylko na .editorconfig.lewę. Pomyśleć, że przez te wszystkie lata tworzyłem pliki kropek za pomocą wiersza polecenia jak jaskiniowiec.
jamesdlin
4

Zmieniłem skróty, aby znaleźć rozwiązanie tego problemu. Usunąłem skrót zapisu (mapowanie skrótów -> menu główne -> zapisz) i zamapowałem Ctrl+ Sdo makra „Przycinanie trailing and save” (mapowanie skrótów -> makra -> przycinanie trailing i zapisywanie). W ten sposób makro zastępuje funkcję zapisu i nie trzeba pamiętać skrótu Alt+ Shift+ S.

Zimorodek
źródło
2

Istniejące odpowiedzi wyglądają na stare.

Spróbuj poniżej ścieżki:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space
Manohar Reddy Poreddy
źródło
1
Nagrałem makro do „Przytnij końcowe spacje” ORAZ „przekonwertuj tabulatory na spacje”, aby zachować spójność w kontroli wersji. Następnie zapisałem makro z kombinacją kodu klucza Atl-T. Alt-T, Ctrl-Sto Szybkie połączenie do przycinania, konwertowania i zapisywania. Celowo robię to w dwóch krokach, ponieważ nie chcę przycinać plików znaczników ani zmieniać tabulatorów / znaków końcowych podczas edycji plików innych opiekunów, które mogą mieć domyślnie inny standard niż używany. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Spacea Notepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ ma również ... Space to TABopcje).
SherylHohman
1

Ctrl+ F-> Przejdź do zakładki Zamień ->

Znajdź co: \ t \ r

Zamień na: \ r

Upewnij się, że włączony jest tryb wyszukiwania rozszerzonego , a następnie wymień wszystko.

Jeśli chcesz również oszczędzać, johanno ma właściwe rozwiązanie. Makro -> Przytnij trailing i zapisz działa zgodnie z opisem.

dr4g1116
źródło
Ta odpowiedź jest nieaktualna
Antonio
1

Inny sposób -

  1. Edycja> Operacje puste> Usuń niepotrzebne puste i EOL
  2. Wtyczka> Narzędzia XML> Ładny wydruk (tylko XML - z podziałem linii)

„Narzędzia XML” to wtyczka, którą możemy zainstalować dla notatnika ++

Pritam Karmakar
źródło
1

Alt+ Shift+ Sjest domyślnym skrótem do tego. Jest w pasku menu jako Macro -> Trim Trailing and save. Możesz ponownie powiązać to pod Settings -> Shortcut Mapper -> [Macros].

Ponowne wiązanie „Przytnij śledzenie i zapisz” za pomocą Mapera skrótów

Opierając się na odpowiedzi kon psych , jeśli chcesz automatycznie przycinać białe znaki za każdym razem, gdy zapisujesz, możesz to ustawić, aby zastąpić domyślne zachowanie Ctrl+ S. Pamiętaj tylko, aby zmienić lub usunąć oryginalny skrót zapisu, aby zapobiec konfliktom.

Wyłączenie domyślnego skrótu „zapisz”

Stevoisiak
źródło
+1 dla „Pamiętaj tylko, aby zmienić lub usunąć oryginalny skrót zapisu, aby zapobiec konfliktom”.
Wafeeq
1

Aby zachować istniejące polecenia menu, zamapuj (wcześniej nieprzypisane) Ctrl+, Taby przyciąć końcowe spacje. Następnie wykonaj Ctrl+ Ti Ctrl+ Srazem.

Pozwala to na niewielką zmianę pliku bez mylenia narzędzi do porównywania tekstu i programów kontroli źródła poprzez zmianę (potencjalnie) setek linii.

al h
źródło
1

Są to dokładne kroki, aby przekierować standardowy skrót „Zapisz” Ctrl+ Szrobić zamiast tego „Przytnij trailing i zapisz”

  • Ustawienia-> Mapowanie skrótów ...
  • Karta Menu główne, kliknij dwukrotnie „Zapisz”, zmień Sna Brak
  • Karta Makra, kliknij dwukrotnie „Przytnij końcowe miejsce i oszczędzaj”, zmień na Ctrl+S

Skrót Makra można również zmodyfikować w Makro> Zmień skrót / Usuń makro ...

Antonio
źródło
Dzięki, to absolutnie najlepsza odpowiedź
Simon Tan