2013-01-04 7 views
10

Po zapisaniu (jak sądzę) moi emacs usuwają ciągnącą się białą przestrzeń. Nie chcę zatwierdzać tych zmian, tylko części, które ręcznie modyfikuję. Czy istnieje sposób, aby wyłączyć to zachowanie?Moje emacs usuwa końcowe białe znaki. Jak mogę wyłączyć to zachowanie?

+1

W celu późniejszego odniesienia, to [pytanie] (http://stackoverflow.com/q/14131492/1225607) jest związane z zarządzaniem białymi znakami tylko w zmodyfikowanych częściach pliku. – Francesco

+0

Czy otrzymałeś odpowiedź? Widzę, że nie akceptujesz ani nie komentujesz odpowiedzi - czy potrzebujesz pomocy? –

Odpowiedz

10

To zachowanie nie jest standardem. Jest to jednak bardzo powszechne dostosowanie, które możesz gdzieś pożyczyć. Szukać czegoś podobnego co następuje w was startowych złożyć i wypowiedzieć się na te linie, aby pozbyć się tego problemu (i mają Emacs zapisywać pliki jak są, bez usuwania białych znaków łącznie):

(add-to-list 'write-file-functions 'delete-trailing-whitespace) 

lub

(add-hook 'before-save-hook 'delete-trailing-whitespace) 

Ten emacswiki page daje mnóstwo porad dotyczących obsługi końcowych spacji.

Jeśli chcesz usunąć końcowe białe znaki tylko na liniach Państwo modyfikować, można spróbować pakiet

+1

Tempus: Tak, pozbądź się istniejącego dostosowania i użyj "ws-trim" - robi dokładnie to, co chcesz, pracując pod kontrolą wersji (i możesz łatwo wyłączyć ten tryb, jeśli kiedykolwiek napotkasz na powód, żeby to zrobić). – phils

+2

Nie jestem pewien, czy to pomogło komukolwiek, ale ws-trim nie działało zbyt dobrze dla mnie, więc zrobiłem to: https://github.com/lewang/ws-butler ... To jest mniej obraźliwe. –

2

ws-trim Spójrz na ethan-wspace. Sprzątnie wszelkie spacje, które sam zrobiłeś. Jednak wszelkie niepoprawne białe znaki, które pojawiły się podczas otwierania pliku, pozostają nienaruszone. W ten sposób możesz uniknąć tych kłopotliwych różnic, pełnych białych znaków.

+0

Wygląda na to, że z opisu nie usunięto żadnych białych znaków, chyba że cały plik był w stanie czystym? To nie jest tak użyteczne, jak podejście przyjęte przez ws-trim i ws-kamerdynera. – phils

5

Tak jak zasugerowano w this odpowiedź na hak deleting-trailing-whitespace mogła zostać dodana do haka .

Aby wyłączyć ten eval (remove-hook 'before-save-hook 'delete-trailing-whitespace) (typ M-:).