2017-01-15 11 views
0

私はUbuntu 16.04でVIM 7.4を使用していて、Python 3.5をコーディングしています。Pythonの "with"で自動インデントが機能しない

Pythonファイル(.py)を書くとき、字下げは、withステートメントを除いて完全に機能します。つまり、のタブを4つのスペースでインデントし、VIMをコロン(:)の後に4つのスペースでインデントするなどの方法で再配置できます。

しかし、構文がwith ... asの場合、改行のインデントは失敗します。

ビジュアル例:

if x == 12: 

その後、タブインデント改行で結果が、

with open("test.txt", 'r') as file: 

その後、タブではないインデント改行に resultes。

私は、彼らが多すぎるのでリンクが、ここで私が試した事のいくつかではないだろうことを、多くの質問を確認:

  • .vimrcset autoindentを追加します。
  • 私の.vimrcset smartindentを追加する。
  • VIMのインタープリタにfiletype indent onと入力します。
  • :set indentkeys?と入力し、コロンがリストに含まれていたかどうかを確認してください。

それはほぼ空であるので、私はそれが有用であろう疑問が、ここで私の.vimrcです:それは改行でこの後with...asとインデントを認識するように

set nocompatible 
set autoindent 
set smartindent 
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab 
inoremap <S-Tab> <C-d> 

は、どのように私はVIMを修正できますか?

+0

私は答えと一緒に、この質問を投稿しています:

しかし、.vimrcに次の行を追加し効果的に問題を修正しました。この問題はまれではないようですが、これが他の人々に役立つことを願っています。 –

答えて

1

解決策は確かにfiletype indent onコマンドにあります。

何らかの理由で、VIMインタープリタで入力すると何も起こりません。したがって、これはこれを修正する方法ではないと考えることができます。

filetype indent on 
関連する問題