2008-09-10 8 views

答えて

29

Ctrlキー - P(前回のマッチを取得)とCtrlキー - N(次のマッチを取得する)擬似コード補完の一種です。あなたがその単語を編集する(開いているすべてのバッファ、あなたはタグファイル内のタグのものを使用している場合)されている(N- - Ctrlキーのために転送し、PCtrlキーのための後方を)彼らは基本的にファイルを検索しますあなたが入力しているものから始め、ドロップダウンリストを追加してください。たとえインテリジェンスでなくても、変数や関数名には驚くほどうまく機能します。一般的には、私が探している変数または関数が通常コード内にあるので、Ctrl - Pを使用します。また、Vimの同じコピーを開いたままにすると、以前開いたファイルを検索します。

+0

これは私にとって素晴らしい仕事をしていたでしょうが、私は最近きました新しい開発環境に切り替えました。今では開いているバッファだけを検索するのではなく、私のソースツリー全体を検索するようですが、これはかなり時間がかかります。この新しい環境でTAGSが使用されているかどうかはどうすればわかりますか?私は ':tag'を試して、' E73:tag stack empty'を得ました。タグが有効になっている可能性がありますか?また、新しい環境には若干新しいバージョンのvimがあります。私はそれが開いているバッファのみを検索するようにしたいと思います。 – redbmk

7

まあ、Vimの一般的な補完メカニズムは、挿入モードでCtrl-Nを使うだけで、驚くほど良いです。また、C-x C-lを使用すると、行の補完が非常に便利です。

また、vim script for perlもチェックしてください。

9

Vim 7はオムニコンプリートをサポートしています。

例えば、私は私のvimrc

autocmd FileType php set omnifunc=phpcomplete#CompletePHP 

でこれを持っていると私は挿入モードではCtrl-X CTRL-Oを押したときに、私はオートコンプリートの可能性のドロップダウンリストを取得します。

ここにはomnicfunc for perlがあります。どのようにうまくいくのかわからない。

3

はCtrl +N

これは、パッケージの完了を行う方法と一緒に、Perlのハッキングの本で説明されています。強くお勧めします。

3

他の回答の.vimrcクリップは少し間違っています。たくさんのより多くのカスタマイズをin this thread at Perlmonks --whichリンクにさらに多くのスレッドを他のvimのトリックのあなたはこれを見つけることができます

inoremap <tab> <c-r>=InsertTabWrapper()<cr> 

function! InsertTabWrapper() 
    let col = col('.') - 1 
    if !col || getline('.')[col - 1] !~ '\k' 
     return "\<tab>" 
    else 
     return "\<c-p>" 
    endif 
endfunction 

、およびトン:オートコンプリートキーにあなたの[Tab]キーを有効にするには、このコードを使用します。

5

標準CTRL-NCTRL-Pは〜/ .vim/ftplugin/perlに以下を追加するとさらにうまく動作します。vimのファイル:

セットiskeyword + =:

それから、オートコンプリートモジュール名など

関連する問題