2016-08-31 17 views
0

は、私は私の/etc/vimrcexpandtabのための古典的な設定を持っている:オプションをvimプラグインでオーバーライドした後に強制するには?

set expandtab 
set tabstop=4 
set shiftwidth=4 

は、どのように私は、彼らがどのプラグインによって上書きされていないことを確認していますか?

強制的にすべてのプラグインを無視する方法はありますか?

/etc/vimrcの設定は、言語固有の設定によって上書きされます。私は逆をしたい - 任意の言語固有の設定は私の設定で/etc/vimrcで上書きされます。

filetypeによる「スマート」設定がうまくいきましたが、スマートになりました。デフォルトのvimセットアップでは、関係のないファイルにnoexpandtabが設定されています。犯人プラグインを見つけることができても、私はそれらを一つずつ修正したくありません - 新しいプラグインが何かを再び混乱させるチャンスが常にあります。私はむしろ偶然のスペース(タブが予想される場所)と一緒に暮らしています。

+1

まず、カスタム設定は '〜/ .vimrc'に入れ、'は/ etc/vimrc'には何の関係もありません。第二に、ファイルタイプのプラグインがマッピングを上書きしないようにしたい場合、それらを有効にしないでください。 – romainl

+0

@romainl、デフォルトでは、(私が唯一のユーザーとルートだとしても)新しいユーザーにこれらの問題を起こさせることなく、**すべてのユーザー**のプラグイン設定を上書きするように 'expandtab'を設定したいと思います。したがって、 '/ etc/vimrc'は正しいオプションです。私は 'expandtab'だけを上書きしたい(他のプラグインのカスタマイズを無効にすることなく)。 – uvsmtid

+3

あなたのユーザが何をしても、あなたが '/ etc/vimrc'に置いたものを上書きします。 – romainl

答えて

1

あなたの要件を満たす唯一の方法ファイルタイプのプラグインを有効にしながら可能なすべてのファイルタイププラグインをオーバーライドすることが考えられます。

が最も簡単なのオートコマンドで/etc/vimrcでそれを行うには、おそらくです:

augroup expandtabFTW 
    autocmd! 
    autocmd FileType * setlocal expandtab 
augroup END 
+0

素晴らしい!これまでは、 '〜/ .vimrc'(忘れられないもの)に' set expandtab'を追加して強制しました。ファイル全体はこの単一行でした。 'set expandtab'が'〜/ .vimrc'では動作するが、 '/ etc/vimrc'では行われなかったという事実は本当にイライラしていました。 – uvsmtid

+0

@uvsmtid '/ etc/vimrc'の設定を考慮したい場合、エンドユーザは'〜/ .vimrc'からこのファイルを ':source'する必要があります。他の解決策はあまりありません。あなたが '/ usr/share/vim/vim {version}/after/plugin/yourcompanysettings.vim'にプラグインをドロップしているかもしれません。これを除いて、Vimの正式なディストリビューションのみを格納するために予約する必要があるため、何かを置くのには適していません。 ':h 'rtp'と':h startup 'に興味があるかもしれません。 –

関連する問題