我使用vim编程c ++,python和ASM。对于每种语言,我都有不同的特定插件,键盘图等。
最好的方法是什么?不同的vimrc?或者全部在一个vimrc中添加......喜欢if / else取决于iam编辑的文件吗?
对您的建议和经验感到高兴
最好的问候
答案 0 :(得分:6)
两种方法:自动命令和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