如何为许多文件类型设置.vimrc配置?

如何为许多文件类型设置.vimrc配置?,vim,Vim,假设我想要一组用于HTML、CSS和JavaScript文件的设置,但另一组用于Ruby文件(完全不同)。最简单的方法是什么?您可以这样设置全局设置 对于其他文件: set shiftwidth=4 对于Ruby文件: autocmd BufRead,BufNewFile *.rb set shiftwidth=2 您可以通过autocmd获取所需内容,其格式如下: au[tocmd] [group] {event} {pattern} [nested] {cmd} [group]和[ne

假设我想要一组用于HTML、CSS和JavaScript文件的设置,但另一组用于Ruby文件(完全不同)。最简单的方法是什么?

您可以这样设置全局设置

对于其他文件:

set shiftwidth=4
对于Ruby文件:

autocmd BufRead,BufNewFile *.rb set shiftwidth=2
您可以通过
autocmd
获取所需内容,其格式如下:

au[tocmd] [group] {event} {pattern} [nested] {cmd}
[group]
[nested]
是可选的。正如我上面给出的示例,
BufRead,BufNewFile
是事件,
*.rb
是模式,
set shiftwidth=2
是命令


有关
autocmd
的更多信息,请参阅:
:help automcd

您可以将
ftplugin
目录与特定文件类型的设置放在其中
.vim
目录

.vim
└── ftplugin
    └── ruby.vim
    └── markdown.vim
.vim
└── ftdetect
    └── markdown.vim
并保留您的设置。当文件具有 打开相应的文件类型

此外,您可能需要进行文件类型检测(如果未检测到) 正确地)。您可以将其放入
.vimrc

autocmd BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mkd,*.mkdn set ft=markdown
或者,将其放入
ftdetect
目录中

.vim
└── ftplugin
    └── ruby.vim
    └── markdown.vim
.vim
└── ftdetect
    └── markdown.vim

这个答案可能会有帮助:只要看一下本页上的“相关”问题,我就会看到这个问题也是一样的:。谢谢!如果我想为一种文件类型添加许多设置,我每次都必须写入
autocmd BufRead,BufNewFile*.filename
,该怎么办?有没有更有效的方法?然后你可以尝试编写一个文件类型插件。并在新插件中配置它。