で新しいタブに一致するすべてのgrepの結果を表示する:は、私はVimの中で次の操作を行うためのホットキーをマップしようとしていますVimの
- マッチ現在のカーソル
- でマークされた電流c-単語がリストを生成しますすべての現在のプロジェクトでの発生
- オープンだから、結果
を示す新しいタブを見つけ、私はそれがCTAGSを使用する必要があり、一例はそうのような新しいタブで変数/関数の宣言を開きます:
map <C-\> :split<CR>:exec("tag ".expand("<cword>"))<CR>
それはCTRLヒットすると - \ を、新しいタブが変数の宣言で開かれた/機能カーソルがオンになっています。
私はマップしようとしているコマンドは以下の通りである:
:lvim /\<\(text_i_want_to_find\)\>/gj *.c
:lw
私は、このコマンドを実行すると、新しいタブがテキストtext_i_want_to_find
を含むすべての.c
ファイルのリストを示す開かれました。私はそれが今何をするかは異なる2つのことを行うために、これを修正する必要があります:
- ではなく、単に
.c
の.c
の拡張子を持つすべてのファイル、.h
、.cpp
、.mk
を検索し、また「Makefileの」という名前のファイルを検索
CTRL等カーソル下のCワード用
- 検索 - 手動でテキストを入力することとは対照的に、私は、上記に示した\マッピング
text_i_want_to_find
ここに私の.vimrc
ファイルのコードがあります。 CTRL - /が全くマッピングされていないと私は完全には分かりませんので、解決するためのもう一つの問題があります。
map <C-/> :split<CR>:lvim /\<\(.expand("<cword>")\)\>/gj *.c *.h *.cpp *.mk Makefile
このVimマッピングの修正に関するヒントはありますか?
EDIT:
私に提供さ答えを確認した後、ここに私のコードの最終バージョンがあります:
command! -nargs=1 SearchAll execute " grep -srnw --binary-files=without-match --exclude={*~,tags} --exclude-dir=.svn . -e " . expand("<args>") . " " <bar> cwindow
map <C-g> :SearchAll <cword><CR>
私はCTRL + グラムにそれをマッピングされました。コロンコマンドのように呼び出すこともできます:
:SearchAll my_text_to_search_for
これは他の人にも役立ちます。
ありがとうございます。私は最終的にVim wikiで部分的な答えを見つけました:map: "grep -srnw --binary-files = without-match --exclude-dir = .git --exclude-from = exclude.list。 " expand( "")。 "" cwindow –
DevNull
@Dogbert Vim wikiには、コード化されたアドバイスがたくさん含まれています。私は決して使っていません.Vimヘルプの知識は十分です。それらは役に立つかもしれませんが、*毎回vim wikiへのリンクを見ましたが、リンクをたどってもそのまま使用してはいけないコードを見ました。ほとんどのvimのヒントを打ち破る良いアドバイスがあります。 ':'と ';'を 'noremap:;'と 'noremap; : '。 //これらのマッピングは人々によって使用されます。なぜなら、シフトを省略することは ';'が依然として有効であるため、かなり高速化するからです。 – ZyX