何らかの理由で、Vimは私のコメントをすべてインデントをすべて削除する必要があると考えています。#
行の先頭に追加すると、突然すべての先行空白が削除されます。どうすればこれを止めることができますか?
関係がある場合に備えて、JanusとNERDtreeをインストールしましたが、他の多くの個人的な構成もありますが、.vimrc
(私の知る限り)そのような動作を引き起こすものはありません。
何らかの理由で、Vimは私のコメントをすべてインデントをすべて削除する必要があると考えています。#
行の先頭に追加すると、突然すべての先行空白が削除されます。どうすればこれを止めることができますか?
関係がある場合に備えて、JanusとNERDtreeをインストールしましたが、他の多くの個人的な構成もありますが、.vimrc
(私の知る限り)そのような動作を引き起こすものはありません。
回答:
「万が一のためにこれらすべてを設定する」という答えには決して満足していません。私は、それらのうちどれが間違って設定されていて、どのように設定されたかを知ることを主張します。ここに記載されているすべての関連設定の値と、それらが最後に設定された場所を表示するコマンドを次に示します。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
これも私が戦った戦いであり、ついに勝ったと思います。問題は、(プラグイン/構文によって)動作をオーバーライドできるさまざまな方法があることです。
戦いに勝つために使用しなければならなかったすべての設定は次のとおりです。
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
必要はありませんが、これは動作が去っていきましたまで、私は行を追加保たものの一つです。
set indentkeys-=0#
!! 最後に私の苦労は終わりました!!!!!!!!
Vim Wiki Indentingのソースコードページをチェックアウトし、「autoindent」がどのように機能するかをチェックしてください。
この回答を参照してください:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
変更先:
set nosmartindent
set cindent
set cinkeys-=0#
set indentkeys-=0#
または:
:inoremap # X<BS>#