[Python] vim の Python 用設定

vimPythonコードかこうとすると、改行時にTABインデントされてコンパイルエラーになったりする。
以下はそれを防ぐための設定

参考URLそのまま
http://www.nims.go.jp/cmsc/staff/arai/python/python-vim.html

でもなぜかMacOS10.5だと、自動的にTABインデントしてしまうので、
~/.vimrc に書き込んだ。

 他の種類のファイルに影響を与えずに、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

vimのPython用プラグイン? pydiction

vimPythonを書きやすくするように、入力補完するpydictionを入れる

インストール

以下からダウンロード
http://www.vim.org/scripts/script.php?script_id=850

そしてインストール

cd ~
tar xvf pydiction-0.5.tar
vi ~/.vimrc
-----
if has("autocmd")
      autocmd FileType python set complete+=k/Users/username/pydiction    -0.5/pydiction iskeyword+=.,(
endif " has("autocmd")
-----

そして使ってみる.
適当なPythonファイルを編集

vi test.py
-----
for<Ctrl-n>
のように<Ctrl-n>を押すと、候補一覧が表示。さらに候補を選んで、<Ctrl-n>を押すと、入力が補完される。
-----