如何为多种语言创建多个 .vimrc?
How to create multiple .vimrc for several languages?
我正在学习 Vim 并很快发现它有多棒。我为 python 设置了 .vimrc,但现在我想将我的生活完全融入 vim。那么如何为每种语言创建一个单独的 .vimrc 呢?
我已经为 html 下载了 emmet 并将其放入我的 .vim 中,但我现在也无法使用 emmet。
我试过 ~/.vim/ftplugin/java.vim 但我无法创建新的 .vim 文件
我有 emmet 我只是不知道如何让它工作。 http://mattn.github.io/emmet-vim/ 是我发现的最好的东西
如果您对使用不同的设置、键映射等感兴趣,您可以通过使用 autocmd
在单个 .vimrc 中实现。 (您的语言特定插件 应该 自行处理。例如 Python 插件只会在编辑 Python 文件时生效。)
来自the docs:
You can specify commands to be executed automatically when reading or writing
a file, when entering or leaving a buffer or window, and when exiting Vim.
例如,这是我的 .vimrc 的一部分:
" set shiftwidth and softtabstops to 2 when working with Clojure, Ruby, HAML, etc.
autocmd FileType clojure,ruby,haml,eruby,yaml,cucumber set ai sw=2 sts=2 et
" map ctrl-e to vim-fireplace's Eval function when working with Clojure files
autocmd FileType clojure nnoremap <C-e> :Eval<CR>
Vim 具有 文件类型插件 的概念。您可以通过 :filetype plugin on
(在您的 ~/.vimrc
中)启用它们。然后,无论何时编辑 Python / Java / 任何文件,Vim 都会加载该特定编程语言的相应设置。您可以根据自己的喜好调整/覆盖/扩展这些设置,并根据需要添加(缓冲区本地)映射和命令。在 :help ftplugin
.
阅读更多内容
因此,我建议将设置和映射放入 ~/.vim/after/ftplugin/{filetype}.vim
而不是定义很多 :autocmd FileType {filetype}
,正如 @pdoherty926 的回答所建议的那样。这是正确的机制,它不会使您的 ~/.vimrc
因特定语言的内容而变得混乱。
我正在学习 Vim 并很快发现它有多棒。我为 python 设置了 .vimrc,但现在我想将我的生活完全融入 vim。那么如何为每种语言创建一个单独的 .vimrc 呢? 我已经为 html 下载了 emmet 并将其放入我的 .vim 中,但我现在也无法使用 emmet。
我试过 ~/.vim/ftplugin/java.vim 但我无法创建新的 .vim 文件
我有 emmet 我只是不知道如何让它工作。 http://mattn.github.io/emmet-vim/ 是我发现的最好的东西
如果您对使用不同的设置、键映射等感兴趣,您可以通过使用 autocmd
在单个 .vimrc 中实现。 (您的语言特定插件 应该 自行处理。例如 Python 插件只会在编辑 Python 文件时生效。)
来自the docs:
You can specify commands to be executed automatically when reading or writing a file, when entering or leaving a buffer or window, and when exiting Vim.
例如,这是我的 .vimrc 的一部分:
" set shiftwidth and softtabstops to 2 when working with Clojure, Ruby, HAML, etc.
autocmd FileType clojure,ruby,haml,eruby,yaml,cucumber set ai sw=2 sts=2 et
" map ctrl-e to vim-fireplace's Eval function when working with Clojure files
autocmd FileType clojure nnoremap <C-e> :Eval<CR>
Vim 具有 文件类型插件 的概念。您可以通过 :filetype plugin on
(在您的 ~/.vimrc
中)启用它们。然后,无论何时编辑 Python / Java / 任何文件,Vim 都会加载该特定编程语言的相应设置。您可以根据自己的喜好调整/覆盖/扩展这些设置,并根据需要添加(缓冲区本地)映射和命令。在 :help ftplugin
.
因此,我建议将设置和映射放入 ~/.vim/after/ftplugin/{filetype}.vim
而不是定义很多 :autocmd FileType {filetype}
,正如 @pdoherty926 的回答所建议的那样。这是正确的机制,它不会使您的 ~/.vimrc
因特定语言的内容而变得混乱。