46

:Vim の Python モードで文字を追加すると、次のいずれかになります。

  • 行をインデントします
  • 線をくぼませます
  • 何もしません

それは何をしようとしているのか、どうすればこの動作を取り除くことができますか?

4

4 に答える 4

33

特定のキーを押すと、Vim のインデント機能がトリガーされ、現在の行に正しい量のインデントを設定しようとします。==(通常モードで入力することで、これを手動でトリガーできます。)

この動作をトリガーするキーを変更できますが、まず、どのインデント モードが使用されているかを知る必要があります。

まず、実行し:set indentexpr?ます。空でない場合 (Python ではこれが予想されます)、indentexprモードが使用されています。この場合、実行する:set indentkeys?とトリガー キーのリストが表示されます。コロンを削除するには、 を実行し:setlocal indentkeys-=:ます。

が空の場合indentexpr、おそらくcindentモードを使用しており、モードが設定され:set cindent?ていることがわかりますcindent。この場合、前と同じことを行いますが、cinkeys代わりに を使用しindentkeysます。indentexpr(モードはモードよりも優先されることに注意してcindentください。)

于 2014-02-17T03:29:38.363 に答える
7

It is trying to be helpful. If you want to turn off all the auto-indenting for the current file,

:setlocal noautoindent
:setlocal nocindent
:setlocal nosmartindent
:setlocal indentexpr=

Or, you can add set in your vimrc file. You can do these per file type too. See here

于 2013-10-11T14:38:48.347 に答える