今までどうしていたんだ?
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サポーターズ
- 出版社/メーカー: 技術評論社
- 発売日: 2011/09/23
- メディア: 単行本(ソフトカバー)
- 購入: 19人 クリック: 661回
- この商品を含むブログ (37件) を見る