2

我使用 vim 来编写 c++、python 和 ASM。对于每种语言,我都有不同的特定插件、键盘映射等。

处理这个问题的最佳方法是什么?不同的vimrc?或全部在一个vimrc中并添加某事。像 if/else depening 由文件 iam 编辑?

会很高兴您的建议和经验

此致

4

1 回答 1

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
    
于 2013-08-08T12:33:56.737 回答