为多种语言创建多个 .vimrc?

5 vi vim file-type

我开始学习编程,看到可以通过 .vimrc 文件配置 vim。但是我在创建多个设置时遇到了麻烦。我想要一个 java 配置和另一个 C 配置,但我不知道如何只在使用特定语言编程时启用配置。

我找到了以下解决我的问题的方法:

如果可以集中配置本地异常,您可以将此类autocmds 放入您的~/.vimrc

:autocmd BufRead,BufNewFile /path/to/dir/* setlocal ts=4 sw=4

如何为不同的工作目录加载不同的 .vimrc 文件?

但我不明白那个解决方案。

我想我应该做以下事情:

  1. 我想在桌面上创建一个 C 语言设置。因此,我将以下命令放入 Shell(我使用的是 Mac OS)vim ~/Desktop/.vimrc并将所需的配置放入此文件中。

  2. 然后我将以下命令放入文件中~/.vimrcautocmd BufRead,BufNewFile ~/Desktop/.vimrc setlocal ts=4 sw=4

  3. 然后我进入 Shell 并创建了一个 C 文件vim ~/Desktop/myprogram.c,但我意识到我的设置不起作用。

显然我做错了什么,但我找不到错误,因为我还是菜鸟。

Men*_*ックス 5

为此,您需要 3 个文件:和两个脚本,~/.vimrc例如C-settings.vimjava-settings.vim

在第一个文件 中~/.vimrc,您需要包含以下自动命令:

"To enable file type detection"
filetype on
augroup Java_C_Settings
    "the command below execute the script for the specific filetype C
    autocmd FileType c source /path-for-C-settings/C-settings.vim

    "the command below execute the script for the specific filetype Java
    autocmd FileType java source /path-for-Java-settings/Java-settings.vim
augroup END 
Run Code Online (Sandbox Code Playgroud)

在其他文件 ( C-settings.vim& Java-settings.vim) 中,您可以放置​​每种类型文件所需的设置,*.c然后*.java

例子:

C-设置.vim

set number
colorscheme blue
Run Code Online (Sandbox Code Playgroud)

Java-settings.vim

set number
colorscheme evening
Run Code Online (Sandbox Code Playgroud)

每当您使用 vim 打开文件时,后者都会首先检查文件类型,然后自动配置设置。


注意:如果设置文件不在同一目录中,您可以重命名它们.exrc