.vimrc configuration for Python

前端 未结 6 465
小鲜肉
小鲜肉 2020-12-23 14:53

My current .vimrc configuration is below:

set nohlsearch
set ai
set bg=dark
set showmatch
highlight SpecialKey ctermfg=DarkGray
set listchars=tab:>-,trail         


        
相关标签:
6条回答
  • 2020-12-23 15:30

    Try this:

    filetype indent on
    filetype on
    filetype plugin on
    

    I primarily do Python programming and this is the brunt of my vimrc

    set nobackup
    set nowritebackup
    set noswapfile
    set lines=40
    set columns=80
    set tabstop=4
    set shiftwidth=4
    set softtabstop=4
    set autoindent
    set smarttab
    filetype indent on
    filetype on
    filetype plugin on
    
    0 讨论(0)
  • 2020-12-23 15:35

    You shouldn't have to explicitly indent python keywords. The $VIM/indent/python.vim file takes care of that. You just need to turn on filetype indent and autoindent.

    0 讨论(0)
  • 2020-12-23 15:44

    I'd say that this configuration provides something, without causing conflicts (/etc/vim/vimrc):

    " Python Setup
    autocmd Filetype python setlocal ts=2 sw=2 expandtab
    autocmd Filetype python set number
    autocmd Filetype python set autoindent
    autocmd Filetype python set expandtab
    autocmd Filetype python set shiftwidth=4
    autocmd Filetype python set cursorline
    autocmd Filetype python set showmatch
    autocmd Filetype python let python_highlight_all = 1
    autocmd Filetype python set colorcolumn=80
    
    0 讨论(0)
  • 2020-12-23 15:48

    I (simply) use this:

    set shiftwidth=4
    set tabstop=4
    set expandtab
    filetype plugin on
    filetype indent on
    syntax on
    
    0 讨论(0)
  • 2020-12-23 15:51

    The short answer is that your autocmd is missing the BufEnter trigger, so it isn't being fired when you create a new file. Try this instead:

     au BufEnter,BufRead *.py setlocal smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
    

    Note that I also changed the set to setlocal. This'll prevent these options from stomping on your other buffers' options.

    The "right" way to do what you're trying to do is to add filetype indent on to your .vimrc. This'll turn on the built-in filetype based indentation. Vim comes with Python indentation support. See :help filetype-indent-on for more info.

    0 讨论(0)
  • 2020-12-23 15:53

    Consider having a look at the official .vimrc for following PEP 7 & 8 conventions. Present over here

    http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc

    0 讨论(0)
提交回复
热议问题