cBlog

Tips for you.

VimでPython書いているとコメント“#”でインデントが一番左に寄る件

今までどうしていたんだ?

Vimでset smartindentとしていると、“#”を入力したときにインデントが取り除かれ“#”は最前列に置かれるということらしい。

.vimrcに以下のように記述し解消した。

inoremap # X<C-H>#

    " '#'で始まる行のインデントを保持する

ちなみに、map系コマンドは同行にコメント(")は書けないので注意(“|”に続けて書けばコメントとして認識されるが適切に色分けされなかった)。

記事が短いので今の.vimrc晒すか///

set fileencodings=utf-8,euc-jp,sjis,cp932

set fileformats=unix,dos,mac

set number

set ruler

set showcmd

set expandtab  " タブ入力を複数の空白入力に置き換える

set shiftwidth=4  " 自動インデントでずれる幅

set softtabstop=4  " 連続した空白に対してカーソルが動く幅

set autoindent  " 改行時に前の行のインデントを継続する

set smartindent  " 改行時に末尾に合わせて次の行のインデントを増減する

set cinwords=if,else,while,do,for,switch,elif,try,except,finally,def,class

set list  " 不可視文字を表示する

set listchars=trail:_

syntax on

colorscheme jellybeans

inoremap # X<C-H>#

    " '#'で始まる行のインデントを保持する

 

" ファイルのカーソル位置を記憶

if has("autocmd")

  autocmd BufReadPost *

    \ if line("'\"") > 1 && line("'\"") <= line("$") |

    \   exe "normal! g`\"" |

    \ endif

endif

 

参考

VimでPythonのコメント行を入力しようとするとインデントが解除されてしまうアレ - ariyasacca(2012-03-13)

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技