*.rb
파일 형식이 아닙니다. 파일 패턴입니다. ruby
파일 유형이며 .rb
확장자 가없는 파일에도 설정할 수 있습니다 . 따라서 가장 원하는 것은 autocmd가 작동하지 않아야하는 파일 유형을 확인하고 공백을 제거하기 위해 호출하는 함수입니다.
fun! StripTrailingWhitespace()
" Don't strip on these filetypes
if &ft =~ 'ruby\|javascript\|perl'
return
endif
%s/\s\+$//e
endfun
autocmd BufWritePre * call StripTrailingWhitespace()
evan의 대답을 바탕으로 버퍼 로컬 변수를 확인하고이를 사용하여 스트립을 수행할지 여부를 결정할 수 있습니다. 또한 일반적으로 제거하는 파일 형식 인 버퍼를 제거하지 않기로 결정한 경우 일회성 비활성화를 수행 할 수도 있습니다.
fun! StripTrailingWhitespace()
" Only strip if the b:noStripeWhitespace variable isn't set
if exists('b:noStripWhitespace')
return
endif
%s/\s\+$//e
endfun
autocmd BufWritePre * call StripTrailingWhitespace()
autocmd FileType ruby,javascript,perl let b:noStripWhitespace=1