web-dev-qa-db-ja.com

/ etc / vimrcを実行せずにvimを起動する方法は?

職場のLinuxサーバーでは、管理者がcscopeをインストールしなかったため、ソースからホームディレクトリにインストールし、$ PATHに追加しました。問題は、/ etc/vimrcに存在しない/ usr/bin/cscopeへの参照があり、vimを起動するたびに、そのことについて文句を言われ、そのメッセージが表示されないようにする必要があるということです。

私が$ PATHからcscopeを削除した場合、その動作が得られないことは興味深いことです。つまり、vimがcscopeがどこかに存在することをテストし、その後でのみcscope構成を実行している可能性があります。

だから私の質問は:.vimrcに何かを設定して、グローバルな/ etc/vimrcをソースしないようにすることはできますか?コマンドラインから実行するたびに完全なディレクトリ名を入力したくないので、cscopeをPATHの外に移動したくありません。

107
florin

Vim manページ から:

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other
initializations are skipped. Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.

〜/ .vimrcを引き続き処理したい場合は、次を試してください:

vim -u ~/.vimrc

次の行を〜/ .bashrc(またはbashでない場合はシェルの同等のファイル)に追加して、-uスイッチを自動的に追加します。

alias vim="vim -u ~/.vimrc"

システムファイルはユーザーファイルの前に処理されるため、〜/ .vimrcに何かを追加して/ etc/vimrcが読み取られないようにすることはできません( ":help init"、セクション3、 "Exコマンドの実行、環境変数やファイルから」)。

81
Steve Simms

Vim manページ から:

-u {vimrc}

初期化には、ファイル{vimrc}のコマンドを使用します。他のすべての初期化はスキップされます。これを使用して、特別な種類のファイルを編集します。また、「NONE」という名前を付けることで、すべての初期化をスキップすることもできます。詳細については、vim内の「:help initialize」を参照してください。

だからこれは仕事をするはずです:

vim -u NONE

日常的な使用のために、これを通常のコマンドにエイリアスできるはずです。

102
heavyd