这是我的vimfiles。
我写
se tabstop=4
在我的vimrc中。但有时我会阅读一些项目源代码,他们使用TAB缩进并设置tab等于8个空格。所以我必须
:set tabstop=8
使代码缩进正确。
如果我可以确定源代码的路径(例如/ home / foo / erlang /), 有没有办法让我的生活更美好?
我的意思是在vimrc中编写一些代码,比如
if file in path "home/foo/erlang"
then set tabstop=8
end
或其他一些vim设置。
谢谢!
答案 0 :(得分:1)
您可以在要应用设置的目录中创建.vimrc
文件。它将包含您的tabstop
和其他特定于Erlang的设置。
% cd ~/erlang
% ls
... .vimrc
% vim somefile.erl
Vim会自动查看并使用.vimrc
中的$PWD
。 (为此,您的set exrc
中应该~/.vimrc
。有关详细信息,请参阅:help 'exrc'
。
如果您不想cd
并打开该目录中的文件,您始终可以使用显式启动文件调用Vim:
vim -u /path/to/erlang.vimrc somefile.erl
答案 1 :(得分:1)
如果您想将这些内容添加到您自己的.vimrc
文件中,那么您可以执行的一件事就是打开autocmd
文件来调用函数来设置您喜欢的内容。 ..文档谈到这样做,请参阅:help autocmd-patterns
autocmd BufRead */home/foo/erlang/* set tabstop=8
我实际上有一些autocmds可以做"大"根据文件类型的目录和其他属性设置文件类型。其中一个可能是这样的:
autocmd BufRead *.txt call SetUpTextFileBuffer(expand("<afile>:p"))
然后该函数执行路径匹配等,以配置一系列选项(自动格式化,文本宽度等)。如果你能插入它们,那么Modelines当然会更好,但有时候你会和别人一起工作。代码,你不想留下巨大的足迹。
答案 2 :(得分:0)
您可以在文件中使用modeline。
(您需要在set modeline
中使用.vimrc
才能生效。)
在文件的第一行或最后一行中,添加以下注释;
% vim: tabstop=8:
默认情况下,会扫描第一行和最后五行的模型。