1

質問で説明されている問題の解決策として、なぜvimはpythonファイルのexpandtabに従わないのですか? 、これをvimrcに追加しました:

let g:use_tabs = 1
let g:indent_width = 4
let g:tab_width = 4

function! SetIndent()
    if g:use_tabs
        set noexpandtab
        set softtabstop=0
        let &shiftwidth = g:indent_width
        let &tabstop = g:tab_width
    else
        set expandtab
        let &softtabstop = g:indent_width
        let &shiftwidth = g:indent_width
        let &tabstop = g:tab_width
    endif
endfunction

autocmd VimEnter * call SetIndent()

call SetIndent()これは、ターミナルで vim を実行すると完全に機能しますが、MacVim はコマンドをまったく実行しないようです。

これは、MacVimVimEnterがそれを無視するか、vim 以外の時間に実行するためですか? MacVim でも動作するように vimrc を修正するにはどうすればよいですか?


編集:私の完全な vimrc へのリンク: https://ghostbin.com/paste/3xnw7

4

1 に答える 1

2

Python のデフォルト設定は次のとおりです。

setlocal tabstop=8
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal expandtab

たとえば…を変更したい場合は'expandtab'、以下の行を に追加するだけです~/.vim/after/ftplugin/python.vim

setlocal noexpandtab

はい、デフォルト設定が気に入らないすべてのファイルタイプに対してそれを行うことが期待されています。関数を使用するよりもはるかに簡単で、高速で、信頼性が高く、保守が容易です。

接吻。

于 2014-12-30T14:06:45.540 に答える