从文件中选择shiftwidth

时间:2011-07-28 20:36:10

标签: indentation vi vim

我在我的vimrc文件中将shiftwidth保持为4。但是,当我打开许多现有的c / h文件时,它们的移位宽度为2.因此,这些混淆了。

我可以自动从文件中选择shiftwidth,而不是每次打开文件时都设置它吗?

3 个答案:

答案 0 :(得分:6)

您可以在文件底部添加一个模式行:

/* vim: set sw=2: */

More on modelines.

答案 1 :(得分:4)

在我看来,Modelines并不是解决这个问题的最好方法。 Modelines(易受攻击)易受安全问题的影响。 (有关详细信息,请参阅http://www.jukie.net/bart/blog/vim-modelines-insecurehttp://secunia.com/advisories/25182/

相反,您可以禁用模型并使用插件扫描您打开的文件,并根据已有的代码自动设置shiftwidthtabstop和其他人。我使用YAIFA来执行此操作,但vim.org上还有其他人。

答案 2 :(得分:2)

是的,您可以使用模式行在文件内指定设置,例如

/* vim: set ts=2 sw=2: */

有关详细信息,请参阅http://vim.wikia.com/wiki/Modeline_magic