繁体   English   中英

autocmd不适用于〜/ .vimrc

[英]autocmd not applied from ~/.vimrc

如何在不手动重新加载~/.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已加载,但是autocmd仅在:so之后应用:

$ 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文件,为什么制表位也没有设置为20?

vim --versionVIM - 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

对于文件类型问题,可能是因为vim不了解“ tsv”文件类型:您可以通过运行:set filetype进行检查,这将返回当前文件类型。 (它在* .tsv文件中为我返回“”)

以下内容适用于所有* .tsv文件

autocmd BufEnter *.tsv set ts=20 sts=20 sw=20

另一个问题,它一定是您的插件之一或.vimrc中的其他东西覆盖了它(因为它仅适用于vimrc中的那三行)。 尝试通过运行:autocmd找到罪魁祸首,该命令将列出所有已注册的自动命令

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM