2009-04-12 5 views
48

vimのコマンド履歴を使ってどのように検索しますか?私はVimの中に次の検索がしたい

(reverse-i-search)`': 

は、あなたの前のコマンドの単語を入力して、あなたは完全なコマンドを取得します。

私はVimの

q: 

で時系列履歴ツールは、しかし、それは逆探索としてその有用ではありません知っています。

Vimでターミナルと同様の逆引き検索を行うにはどうすればよいですか?ここで

+0

@マッシ:それはなぜ有用ではないのですか?あなたはその歴史の向こう側にまだ検索することができますので、より強力になります – sumek

+0

逆i検索の模倣のための実装は、実際にはかなり簡単です、以下の私の答えをチェックしてください。 –

答えて

62

前のコマンドの最初の文字を入力し、<上向き>矢印(またはCtrl + p)を押します。

:set li<up> 
:set lines=75 

は、履歴オプションをチェックして、コマンドウィンドウを開くには、通常モードでタイプq:

:set history=1000 
+0

Macでバイザーをお持ちの場合は、代わりにset lines = 48を試してみてください。なんらかの理由で、ウィンドウが75行伸びすぎてしまいます。 –

+0

75は例のためのものですが、Visorに感謝します。私はこれを知りませんでしたが、私はそれを必要としませんでした。しかし私はそれが好きです! –

+0

私は端末VimではなくMacVimを使用します。 –

11

は、歴史の中にキーバインドをカバーしVim's commandline history上のドキュメントのこの部分を参照してくださいまた、Vim's commandline historyためのドキュメントです。 :fooと言って、上矢印を押してfooで始まった最後のコマンドを見つけたようです。

58

十分に大きい値に設定することを忘れないでください。ここでは、通常のvimコマンドを使用して検索/編集できます。あなたは通常モードで起動します。コマンドを実行するには、Enterを押します。

この方法では、行の先頭だけでなくコマンド全体を検索できます。

私はここにあなたが行く、と私は実装を泡立て抵抗できなかったことを決めた(最終的には、いくつかの時間のために内蔵されなかった理由を不思議に思った後)だけでなく、このために探していた
+3

バッファーまたはvim自体を終了する代わりにコマンド履歴を取得する理由がわかりました。 – sargas

5

https://github.com/goldfeld/ctrlr.vim

それは、シェルのように動作するはずです - まだ2つの基本的なものが残っています(次の試合に飛ぶために^ Rをもう一度押すように)が、私が使っているものはすべてこの最初のリリースにあります。私は時間がかかるように数週間来ます。

関連する問題