Mam show-trailing-whitespace
ustawione t
globalnie w moim .emacs
pliku, a to nie jest zwykle problemem z wyjątkiem, gdy jestem w diff-mode
patrząc na plaster, który ma obowiązek końcowe białe miejsca dla pustych linii kontekstu.
Jednym rozwiązaniem byłoby po prostu wyłączenie się show-trailing-whitespace
w diff-mode
jakimś odpowiednim haku, ale tak naprawdę chciałbym, aby końcowe spacje w liniach zmian wciąż się pojawiały. Na przykład, jeśli przypadkowo wprowadziłem końcowe białe znaki lub je usuwam, to jest w porządku i nadal chcę, aby pojawiało się to na trailing-whitespace
twarzy . Po prostu nie chcę, aby puste linie kontekstu były traktowane jako końcowe białe znaki, ponieważ są one niezbędne dla samego formatu diff.
Oto przykład obecnego zachowania, które otrzymuję:
I właśnie tego chciałbym:
Oto kolejny przykład, ale tym razem z faktycznym dodaniem białych znaków:
Jeśli jednak show-trailing-whitespace
całkowicie się wyłączę diff-mode
, nie zobaczę żadnej ciemnoczerwonej. Zamiast tego właśnie tego chcę:
Zasadniczo myślę, że wymaga to show-trailing-whitespace
uświadomienia sobie, że linie różnic z pojedynczą spacją są wyjątkowe.
źródło
Odpowiedzi:
Jednym z rozwiązań jest wyłączenie trybu końcowego białych znaków w trybie różnicowym i zdefiniowanie własnych reguł blokowania czcionek dla końcowych białych znaków, których nie chcesz widzieć.
źródło
Po ustawieniu wartość
show-trailing-whitespace
staje się lokalnym buforem, dzięki czemu można ją ustawić w odpowiednim zaczepie:Aby sprawdzić dokumentację show-trailing-białe znaki:
C-h v show-trailing-whitespace
.źródło