Python用Vimの設定

ここを参考にした。 他の種類のファイルに影響を与えずに、Pythonプログラムを編集する場合にのみ有効になるオプションを設定するには、~/.vim/ftplugin/vim_myoption.vim というファイルを作成し、以下の内容を書き込む。
set tabstop=8
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
        

説明

set tabstop=8
file内でtab文字が意味するブランク数。他のプログラムとの互換性からもtabstopは8のまま変更せずに、編集中の<Tab>コマンドをオプションsofttabstopで制御すべきである。
set softtabstop=4
文書を編集する際に、<Tab>が置き換わるスペースの数。 <Tab>や<BS>を入力すると、あたかもtabstopがsofttabstopで定義した数に設定されているように振る舞う。 したがってこの設定では、<Tab>に対して4個のスペースが挿入され、 <BS>が入力されると4個の連続したスペースが一度に消去される。
set shiftwidth=4
自動インデントの際に用いられる各ステップの幅。 cindent, >> <<コマンドでも利用される。
set expandtab
<Tab>の制御に空白文字を用いる。 tab文字を入力するにはCTRL-V<Tab>を用いる。
set smarttab
onにすると、行の先頭でタブを入力するとshiftwidthで定義したブランクが入力され、 それ以外のときにはtabstopを用いる。offのときは、常にtabstopで定義したブランクが入力され、 shiftwidthはテキストを"<<"や">>"などのコマンドで左右にシフトする場合だけ用いられる。
実際に文書中にtabと空白のどちらが挿入されるかはexpandtabの設定で決まる。
tabstopではなくてsofttabstopを見ている?
set autoindent
autoindent
ちなみにLaTeX用には~/.vim/ftplugin/tex_myoption.vimというファイルを作成し、
setlocal shiftwidth 2
setlocal smarttab 2
と設定している。

その他