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 ++?


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.


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


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.


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.


2

Istniejące odpowiedzi wyglądają na stare.

Spróbuj poniżej ścieżki:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space

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.


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 ++


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”


+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.


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 ...


Dzięki, to absolutnie najlepsza odpowiedź
— Simon Tan
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.