打开某些文件的Vim插件,而不是其他文件?

时间:2013-11-19 16:27:31

标签: vim

我最近将filetype plugin indent on添加到我的.vimrc中,以便为Clojure代码(* .clj文件)启用特殊缩进和语法突出显示。但是,它也导致我的LaTeX文件(* .tex)缩进。这在我编辑时很烦人,甚至更烦人,因为插入的制表符混淆了我用来处理我的LaTeX文件的自定义程序。我知道我可以缩进使用空间,但我真的只是希望“智能”的LaTeX缩进消失。实际上,我希望所有智能缩进都消失,除非我特别要求它。

如何在Vim中为Clojure代码获得正确的自动格式化,但是关闭LaTeX文件的所有特殊处理(语法高亮除外)?

对不起,如果已经回答了这个问题;我还没有成功找到答案。

(不相关的编辑评论:有时Vim“升级”让我想回到Unix'vi'。好​​的,不是真的。)

1 个答案:

答案 0 :(得分:3)

每个正确的文件类型插件脚本在其开头都有一个包含保护。如果您不想要Latex文件的任何文件类型选项(即tex的文件类型),请使用以下内容创建文件~/.vim/ftplugin/tex.vim

:let b:did_ftplugin = 1

这会导致$VIMRUNTIME的默认ftplugin中止其执行。这同样适用于缩进:~/.vim/indent/tex.vimb:did_indent是保护变量。

替代

另一方面,如果您只想撤消某些选项(例如:setlocal expandtab以避免插入标签符号),您可以将这些重写命令放入目录后的所谓 ~/.vim/after/ftplugin/tex.vim