Wiem, że Sublime Text 2 może usunąć końcowe białe znaki na plikach po ich zapisaniu.
Podczas pracy w zespole i zatwierdzania zmiany w pliku powoduje to zwykle powstawanie ogromnych różnic, które sprawiają, że wzajemne sprawdzanie kodu jest bardziej uciążliwe. Z tego powodu wolę czyścić białe miejsca tylko wtedy, gdy i tak zatwierdzam duże zmiany w pliku i zostawiam białe znaki tak, jak ma to miejsce w przypadku drobnych zmian.
Chciałbym wiedzieć, czy istnieje jakieś polecenie do przycinania białego miejsca na żądanie w pliku, inne niż "Activate trimming on save > Save file > Deactivate trimming"
.
Wyszukiwanie w dokumentacji i przepływie stosu nie pokazało nic istotnego, wszystkie linki wydają się mówić o automatycznym przycinaniu podczas zapisywania.
źródło
$ mv .git/hooks/pre-commit.sample .git/hooks/pre-commit
co otrzymałem z tego bloga ."trim_trailing_white_space_on_save": true
Markdown.sublime-settings
i wyłączać globalne przycinanie podczas zapisywania i zapobiegać wpadkom.Odpowiedzi:
Uwaga: użycie tej wtyczki znacznie spowalnia Sublime Text
Używam do tego wtyczki TrailingSpaces .
Sposób użycia: kliknij „Edytuj / Spacje końcowe / Usuń”.
Aby dodać powiązanie klawiszowe, otwórz „Preferencje / Wiązania klawiszy - użytkownik” i dodaj:
źródło
trailing_spaces_trim_on_save
, które można ustawićtrue
wPreferences > Package Settings > Trailing Spaces > Settings - User
. Możesz użyć tego zamiast wiązania skrótu klawiaturowego, uważam, że jest lepszy dla moich potrzebUżywam tych kroków do szybkiego rozwiązania na żądanie w Sublime Text:
[ \t]+\n
\n
Możesz to również zrobić dla dużego zestawu plików za pośrednictwem
[ \t]+\n
\n
źródło
\t
wydaje się , że nie pasuje do spacji, więc napisana odpowiedź usuwa tylko końcowe tabulatory. Myślę, że wolę\s+\n
, ale zauważ, że usuwa również puste wiersze. Jeśli chcesz usunąć spacje na końcowej linii, jak również można dodać\s+\z
jako tak:(\s+\n|\s+\z)
.([\t ]+\n|\s+\z)
<- nie usuwa pustych linii.[ \t]+$
i zastąpić go niczym.Możesz po prostu użyć wyrażenia regularnego, aby usunąć końcowe spacje:
[^\S\r\n]+$
[^\S\r\n]+$
to Regex oznacza „co najmniej jeden biały znak (czyli spacje i tabulatory, ale nie znaki nowej linii, używając podwójnej negacji), po którym następuje koniec wiersza”Wyrażenie regularne musi być włączone:
źródło
Oto bardzo prosty sposób, który nie wykorzystuje wtyczek ani ustawień i działa w większości sytuacji.
Teraz należy zaznaczyć spacje i tabulatory na końcu wierszy. Naciśnij klawisz Delete lub Backspace
Uwaga - w tym miejscu można również wybrać znaki specjalne, takie jak (i +) na końcu linii, a nie tylko spacje.
Jak zaznaczyć wszystkie linie:
Jednym ze sposobów jest użycie środkowego klawisza myszy do wybrania w pionie, a następnie naciśnięcie klawisza zakończenia, jeśli jest to mały wybór.
Z klawiszami skrótu:
Możesz także użyć funkcji wyszukiwania, aby znaleźć coś, co będzie w każdym wierszu, na przykład znak spacji:
Przykładowy tekst:
źródło
\s
w wyrażeniu regularnym nie tylko dopasowuje spację, ale także tabulatory i nowe linie (tj. „Białe znaki”), a nie tylko spacje. :)Znalazłem tutaj soulution: http://www.sublimetext.com/forum/viewtopic.php?f=4&t=4958
Możesz zmodyfikować pakiet
znajduje się w domyślnym katalogu pakietów, w ten sposób:
Teraz możesz dodać polecenie do konfiguracji mapy klawiszy:
źródło