如何在不手动重新加载~/.vimrc
的情况下让我的vim应用autocmd?为什么... Filetype tsv ...
从未应用过?
我的~/.vimrc
set ts=10
autocmd BufWrite * :echom "Writing buffer!"
autocmd Filetype tsv set ts=20 sts=20 sw=20
~/.vimrc
已加载,但只有在:so
之后才会应用autocmd:
$ vim /tmp/test.tsv
:verbose set ts
tabstop=10
Last set by ~/.vimrc
:w
"test.tsv" 2L, 37C written
:so ~/.vimrc
:w
Writing buffer!
"test.tsv" 2L, 37C written
另外,为什么即使我编辑.tsv
文件,tabstop也没有设置为20?
vim --version
:VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul 11 2015 08:43:46)
:scriptnames
:
1: /etc/vimrc
2: /usr/share/vim/vimfiles/archlinux.vim
3: ~/.vimrc
4: ~/.vim/plugin/InsertXSDDateTimeLiteral.vim
5: ~/.vim/plugin/RdfNamespaceComplete.vim
6: /usr/share/vim/vimfiles/plugin/SyntaxFolds.vim
7: /usr/share/vim/vimfiles/plugin/filebrowser.vim
8: /usr/share/vim/vimfiles/plugin/imaps.vim
9: /usr/share/vim/vimfiles/plugin/libList.vim
10: /usr/share/vim/vimfiles/plugin/remoteOpen.vim
11: /usr/share/vim/vim74/plugin/getscriptPlugin.vim
12: /usr/share/vim/vim74/plugin/gzip.vim
13: /usr/share/vim/vim74/plugin/logiPat.vim
14: /usr/share/vim/vim74/plugin/matchparen.vim
15: /usr/share/vim/vim74/plugin/netrwPlugin.vim
16: /usr/share/vim/vim74/plugin/rrhelper.vim
17: /usr/share/vim/vim74/plugin/spellfile.vim
18: /usr/share/vim/vim74/plugin/tarPlugin.vim
19: /usr/share/vim/vim74/plugin/tohtml.vim
20: /usr/share/vim/vim74/plugin/vimballPlugin.vim
21: /usr/share/vim/vim74/plugin/zipPlugin.vim
答案 0 :(得分:2)
对于文件类型问题,可能是因为vim不知道" tsv"文件类型:您可以通过运行:set filetype
来检查它,它将返回当前文件类型。 (它在* .tsv文件中返回""对我来说)
以下内容适用于所有* .tsv文件
autocmd BufEnter *.tsv set ts=20 sts=20 sw=20
另一个问题是,它必须是你的.vimrc中的一个插件或其他东西覆盖它(因为它只适用于vimrc中的那三行)。尝试通过运行:autocmd
来查找罪魁祸首,这将列出所有已注册的自动命令