trailing whilespace 꺼져

less than 1 minute read

nil

;;; trailing whitespace
(setq-default show-trailing-whitespace t)
(add-hook 'before-save-hook 'delete-trailing-whitespace)

trailing whitespace를 남겨 둘 이유가 없다. 정신 건강을 위해 삭제하자. 변경 사항 비교할 때, 꼬랑지 빈칸 때문에 다르다고 나온다. 자동 머지가 이거 때문에 실패할 때도 있다. git도 아주 싫어하니 더 싫어졌다.

setq-default

C-h v show-trailing-whitespace

buffer-local은 뭐냐? 버퍼마다 다른 값을 가질 수 있다는 뜻. 그래서 =setq=로 심볼에 값을 할당하면 해당 버퍼에만 영향을 준다. 모든 버퍼로 영향력을 넓혀보자.

(default-value show-trailing-whitespace)
;;=> nil
(setq-default show-trailing-whitespace t)
(default-value show-trailing-whitespace)
;;=> t

buffer-local 초기값을 설정할 수 있다. 바로 setq-default. 버퍼마다 다른 값을 가질 수 있지만 초기값을 설정하면~ 끝.

delete-trailing-whitespace

(delete-trailing-whitespace &optional START END)

영역(region)을 지정하고 호출하면 그 영역에 있는 trailing whitespace를 삭제한다. 그냥 호출하면 버퍼가 대상

이런 걸 사람이 할 필요 없지. 남겨둘 필요 없으니깐 before-save-hook에 추가한다. 이제 저장되기 전 꼴도 보기 싫은 trailing whitespace를 다 지운다.

참고