2012-01-19 6 views
10

は、私はしばらくの間、私の.vimrcでコマンド vimの履歴は何に設定されていますか?

set history=10000 

があったが、それは歴史を設定しなかったことを実現した -

:set history 

プリント20

私はset history=10000を私の.vimrcの最後に移動し、それを再供給しました。今度は要求通りにhistory=10000になりました。

私の.vimrcにset historyのインスタンスはありません。履歴の長さを設定する他のコマンドは何ですか?関数定義が履歴を上書きする可能性はありますか?オーバーライドが心配されるべき他の設定はありますか?

答えて

17

の歴史 ' 'HI' 数(Vimのデフォルト:20、Viの既定:0)

注:このオプションはViの既定値に設定されています'compatible'が に設定され、 'compatible'がリセットされたときにVimのデフォルト値に設定されます。

、あなたがのvimrcのどこかに set nocompatibleを持っている場合(それを持っていることは非常に一般的である)ので、その後、 set historyこの文の後に行かなければなりません。それは一般的なルールです:あなたが何を書くにかかわらず、それは set nocompatibleの後に行く必要があります。それは set nocompatibleの後に行く必要があります。前に出ても安全なものがいくつかありますが(いくつかのオプションを含む)、この文の前に私が使用するのはガードだけです。

+0

+1:私はそれを見つけなかった! – Johnsyweb

+0

これは私の歴史を失っていた理由が原因かもしれません。あなたのviminfoファイルがリセットされる可能性がある一般的な状況はありますか? –

+0

@ alpha_989 viminfoを強制的に ':wviminfo!'(注記:読み込みとマージなし)で強制的に書いていないのですが、 '&viminfo'オプションが空白に近い場合には、通常はviminfoを"リセット " (読み込み時に空白に近い)データを設定します(ただし、完全に空ではありませんが、viminfoは無効になります)。 – ZyX

22

タイプ:

:verbose set history 

これは'history'は、最後に設定された場所からあなたを教えてくれます。

NB:それは言うならば:あなたは.vimrcset hi=20またはset history=20のいずれかを持っていない

history=20 
     Last set from ~/.vimrc 

...そして、あなたがで強調されているように、set nocp後、あなたがset history=10000を持っていることを確認する必要がありますZyX's answer。これは(おそらく)ですが、これを初期化ファイルの最後に移動したときにうまく動作することがわかりました。ヘルプによると

+1

(+1)ニース!..... – NPE

+1

実際にはnocpが問題でした。私は他の答えを受け入れましたが、うまくいけば、これは人々の注意を引くのに十分なアップボーンを持っています。 – keflavich