4

.vimrc で次の手法を使用して、行末の余分な空白を削除しています...

autocmd BufWritePre * :%s/\s\+$//e

.mdしかし、Markdown ファイル (または など) でそれが発生したくないことに気付いた.markdownので、次の VimScript を使用しています...

fun! StripTrailingWhiteSpace()
    " don't strip on these filetypes
    if &ft =~ 'md\|markdown'
        return
    endif
    %s/\s\+$//e
endfun
autocmd bufwritepre * :call StripTrailingWhiteSpace()

ただし、それでもすべてのファイルの空白が削除されます。

そこで、次のことを試しました(短いほど良いようです)...

let blacklist = ['md', 'markdown']
autocmd BufWritePre * if index(blacklist, &ft) < 0 | :%s/\s\+$//e

しかし、繰り返しになりますが、それでもすべてのファイルの空白が削除されますか?

これらのテクニックはどちらもうまくいかないようですか?彼らはまだファイルに空白を残していますか?

これを行う方法についてのアイデア (現時点では、Vim ではなく別の書き込みアプリで Markdown ファイルを編集する必要があり、非常に面倒です)。

4

4 に答える 4