vimがコメントの字下げを台無しにしないようにする


12

何らかの理由で、Vimは私のコメントをすべてインデントをすべて削除する必要があると考えています。#行の先頭に追加すると、突然すべての先行空白が削除されます。どうすればこれを止めることができますか?

関係がある場合に備えて、JanusとNERDtreeをインストールしましたが、他の多くの個人的な構成もありますが、.vimrc(私の知る限り)そのような動作を引き起こすものはありません。

回答:


3

「万が一のためにこれらすべてを設定する」という答えには決して満足していません。私は、それらのうちどれが間違って設定されていて、どのように設定されたかを知ることを主張します。ここに記載されているすべての関連設定の値と、それらが最後に設定された場所を表示するコマンドを次に示します。Last set from行が続かない場合、それはデフォルト値です。set正しいデフォルト値を返すことは意味がありません。

:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?

noautoindent
nosmartindent
  cindent
        Last set from ~/.vim/vimrc
  cinkeys=0{,0},0),:,!^F,o,O,e
        Last set from ~/.vim/vimrc
  indentexpr=
Press ENTER or type command to continue

参照:http : //vimdoc.sourceforge.net/htmldoc/options.html# : set-verbose

set smartindentプラグインから削除してmyに追加するだけで機能します~/.vim/vimrc

set cindent cinkeys-=0#
set expandtab shiftwidth=4 tabstop=4 softtabstop=4

うわー!OPは選択した回答を変更しました。光栄です。
ブルーノブロノスキー

6

これも私が戦った戦いであり、ついに勝ったと思います。問題は、(プラグイン/構文によって)動作をオーバーライドできるさまざまな方法があることです。
戦いに勝つために使用しなければならなかったすべての設定は次のとおりです。

set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it

ではautocmd、最初のset cindent必要はありませんが、これは動作が去っていきましたまで、私は行を追加保たものの一つです。


私は最後の2行をスキップし、それでも問題を解決することができました
アイコノクラスト

1
@iconoclastは、ファイルの種類によってはまだ問題がある可能性があることに注意してください。最後の行は、一部の構文ファイルがインデント設定をオーバーライドするためです。
パトリック

1
ああ、神様!!!set indentkeys-=0#!! 最後に私の苦労は終わりました!!!!!!!!
カサポ



-1

コメントすることで問題を解決しましたset smartindent

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.