2009-11-09
python用vim設定
"vim python"などで検索すると、vim用のpython設定らしきものがいろいろとあるが、smartindentやcinwordsをハック的に使うものが多く、ここ最近のものですら"filetype indent on"を使わないものばかりに誘導されてしまいます。
ubuntuならvim-runtimeパッケージに、"/usr/share/vim/vim72/indent/python.vim"があるので、これを使う設定を第一にすべきでしょう(kaoriyaのvim7.2にもcygwinのvimにもindent/python.vimがあるのは確認済)。
必須設定
ふたつのファイルに以下の設定内容を書くだけです。
" ~/.vimrc syntax on filetype plugin indent on
" ~/.vim/ftplugin/python.vim setlocal softtabstop=4 setlocal shiftwidth=4 setlocal textwidth=80 setlocal smarttab setlocal expandtab setlocal nosmartindent
とりわけ、(よく検索でかかる設定例のように).vimrcなどでsmartindentしてあるとindentの動作がおかしくなるので、安全のためnosmartindentしておきます。
(4スペースインデントや80文字などの)設定はPEP-8にあわせています。
オプション設定
自分のvimの他のグローバル設定です(環境差や4ハードタブやeucなどは認めない)。
" ~/.vimrc set modeline set nobackup set incsearch set smartcase set showmatch set encoding=utf-8 set fileencoding=utf-8 set fileformat=unix set tabstop=8 set columns=80
自分の~/.vimrcは、上のにこの~/.vimrcを下に加えただけのものになっています。
TB返答: Re: python用vim設定 - ラシウラ - while ("im the true Vim master"); - vimグループ
まず、indentexprはvim72/indent/python.vimでsetlocalしてます。set nosmartindentは、~/.vimrcのset smartindentを打ち消したいためにしてるものです。
after/ftpluginですが、こちらも~/.vimrcのset群を上書きしたいだけで、システム標準の設定を上書きするわけではありません。そのためafterに置くものでは無いと思うのですけど。
トラックバック - http://d.hatena.ne.jp/bellbind/20091109/1257723740
リンク元
- 209 http://www.google.co.jp/url?sa=t&rct=j&q=vim python&source=web&cd=2&sqi=2&ved=0CC4QFjAB&url=http://d.hatena.ne.jp/bellbind/20091109/1257723740&ei=UXqiTotPptSYBfLMnJcJ&usg=AFQjCNGQdeuir96DGKkZEsi95_f8WRKr-g&cad=rja
- 155 http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=vim+python
- 114 http://www.google.co.jp/url?sa=t&rct=j&q=python vim&source=web&cd=2&ved=0CC8QFjAB&url=http://d.hatena.ne.jp/bellbind/20091109/1257723740&ei=EMefTpfDJKKbiQK01LBI&usg=AFQjCNGQdeuir96DGKkZEsi95_f8WRKr-g&sig2=C1DXpoKhVhfQ4eTFYQNQFg
- 109 http://www.google.co.jp/search?q=vim+python&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ja:unofficial&client=firefox-a
- 78 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=vim+python+vimrc&esrch=FT1
- 51 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDcQFjAB&url=http://d.hatena.ne.jp/bellbind/20091109/1257723740&ei=kKkkT5aXJovBiQek_rjZBA&usg=AFQjCNGQdeuir96DGKkZEsi95_f8WRKr-g&sig2=G9EUNjzw0fO4Ju4xD_mbFg
- 44 http://pipes.yahoo.com/pipes/pipe.info?_id=tDfBdGWF3RGl9XNm1L3fcQ
- 42 http://reader.livedoor.com/reader/
- 39 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CD0QFjAC&url=http://d.hatena.ne.jp/bellbind/20091109/1257723740&ei=b_InT8OWJMe5iQfR2czZAg&usg=AFQjCNGQdeuir96DGKkZEsi95_f8WRKr-g
- 39 http://www.google.co.jp/url?sa=t&rct=j&q=vim+python&source=web&cd=2&ved=0CDIQFjAB&url=http://d.hatena.ne.jp/bellbind/20091109/1257723740&ei=n7DITvKEH8famAWRsJAT&usg=AFQjCNGQdeuir96DGKkZEsi95_f8WRKr-g