2016-05-16 12 views
1

これはしばらく私を悩ましています:私はverilog-autoを使用するコードを書いています。これは、perlスニペットをコメントに注入したverilogファイルで編集していることを意味します。セクション。 Vimで好きなことの1つとして、カーソルの下の単語全体を*#で検索することが非常に便利です。しかし、${w}$wなどの変数名を含むperl構文では、これらのショートカットは機能しません。Vim: "単語全体"の一部として文字列を認識

私はこれらの単語全体の一部としてカウントしたくない多くのインスタンスが存在するとして、私の「キーワード」リストに${}を追加する必要はありません。たとえば、Verilog連結では:{sig1,sig2[1:0]}、私は全体の単語として{sig1を検索したくありません。

"完全な単語"に正規表現などでシーケンスを認識させる方法はありますか?したがって${[a-z]+}または$[a-z]+のみが「キーワード」として認識されます。

カーソルの下のパターンを検索できるキーボードショートカットでも、別のキーボードショートカットでもかまいません。

+0

まあ、それは理想的なソリューションではありませんが、あなたは視覚的にあなたが探しているものを選択して行うことができます:vnoremapの*のY/\ <"\>' – DJMcMayhem

答えて

1

はここで本当に醜いハックですが、それは動作します:

nnoremap * viW:s/\%V\$*{*\a*}*/\=setreg('a', submatch(0))/n<cr>/<C-r>a<cr>n 
nnoremap # viW:s/\%V\$*{*\a*}*/\=setreg('a', submatch(0))/n<cr>/<C-r>a<cr>N 

唯一の欠点は、これがあなたの最後の視覚的な選択を上書きするということですので、あなたは多くのことをgv使用している場合、これが最善の解決策ではありません。 aも上書きされますが、必要に応じて別のものを選択することもできます。 `

+0

うーん、1つの行全体を選択したかのようなもののために: ' .out(sig $ {w} Word [1:0])、 ' この場合、sig $ {w} Wordを選択して検索したいのですが、 – jkang

関連する問題