set spell
文件时自动设置*.md
,但不能在打开*.rb
文件时自动设置?#1 楼
为特定文件类型设置选项的最佳方法是使用自动命令。您可以在
.vimrc
中添加类似的内容:autocmd FileType markdown setlocal spell
当缓冲区的文件类型设置为markdown时,此行将触发命令
setlocal spell
。您还可以根据编辑的文件扩展名使用自动命令,例如:autocmd BufRead,BufNewFile *.md setlocal spell
有关更多信息,请阅读
:h :autocmd
和:h autocmd-events
。EDIT使用自动命令并不是最好的方法。
首先,如果使用自动命令,请记住将它们放在
augroup
中:augroup markdownSpell
autocmd!
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.md setlocal spell
augroup END
这样,如果多次获取vimrc的源代码,自动命令将不会堆叠并执行多次。
现在更好的解决方案是使用ftplugin。为此,您要创建文件
~/.vim/after/ftplugin/markdown.vim
。当缓冲区的文件类型设置为
markdown
且在默认情况下已提供Vim随附的ftplugin
之后,将源该文件(这种方式您不会丢失已经存在的设置)。在此文件中,您只需添加:
setlocal spell
这里您需要使用
setlocal
而不是set
来确保设置仅适用于当前缓冲区,而不是所有缓冲区。一些有趣的相关帮助主题:
:h ftplugin
:h :setlocal
评论
万分感谢!这对我有用:autocmd FileType latex,tex,md,markdown setlocal拼写
–调味麦克博斯
16-3-22在20:16
很高兴对您有用:-)
–statox♦
16-3-22在20:49
评论
我找到了,但是我认为它不符合我想要的方式...ajayfromiiit.wordpress.com/2006/06/02/…robots.thoughtbot.com/vim-spell-checking