我使用 vim 来编写 c++、python 和 ASM。对于每种语言,我都有不同的特定插件、键盘映射等。
处理这个问题的最佳方法是什么?不同的vimrc?或全部在一个vimrc中并添加某事。像 if/else depening 由文件 iam 编辑?
会很高兴您的建议和经验
此致
我使用 vim 来编写 c++、python 和 ASM。对于每种语言,我都有不同的特定插件、键盘映射等。
处理这个问题的最佳方法是什么?不同的vimrc?或全部在一个vimrc中并添加某事。像 if/else depening 由文件 iam 编辑?
会很高兴您的建议和经验
此致
两种方法:自动命令和 ftplugins。
自动命令
在您的~/.vimrc
中,您可以添加与此类似的行:
autocmd FileType python setlocal tabstop=4 shiftwidth=4
有关:help autocmd
更多信息和示例,请参阅。
ftplugins
将您的设置和映射放在此文件中:
~/.vim/after/ftplugin/python.vim
有关更多信息和示例,请参阅:help filetype
和:help ftplugin
。
要考虑的一件事是您的选项和映射的范围。有些东西是全局的,比如有些东西:colorscheme
可以是缓冲区或窗口的本地,比如'tabstop'
上面的。由于您需要特定于文件类型的设置,因此尽可能本地化会更安全。
要使选项成为本地选项,您必须使用setlocal
(请注意,它不适用于每个选项,请检查每个选项:help
)。见:help :setlocal
。
setlocal autoindent
要使映射本地化到缓冲区,请使用<buffer>
,请参阅:help <buffer>
。
map <buffer> <F6> ddP