私がこれを行う場合:
:vimgrep /do_action\([ ]?'init'/ **/*.php
私は得る
E54: Unmatched \(
しかし、テキストが一致するファイルがあることは知っています。なんで?
また、誰かがcmd + lのキーマッピングを作成して、この検索が「init」をカーソルの下の単語に置き換えて開始するように助けてくれれば、非常にありがたいです。これは、さまざまなソースから可能であると理解しています。
私がこれを行う場合:
:vimgrep /do_action\([ ]?'init'/ **/*.php
私は得る
E54: Unmatched \(
しかし、テキストが一致するファイルがあることは知っています。なんで?
また、誰かがcmd + lのキーマッピングを作成して、この検索が「init」をカーソルの下の単語に置き換えて開始するように助けてくれれば、非常にありがたいです。これは、さまざまなソースから可能であると理解しています。
(
あなたはそれに一致するために脱出する必要はありません。?
ただし、前の0〜1個のアイテムに一致させるにはエスケープする必要があります。試す:
:vimgrep /do_action([ ]\?'init'/ **/*.php
kevの答えに基づいて、ここにマッピングがあります。
nnoremap <D-i> :vimgrep //do_action([ ]\?'<c-r>=expand('<cword>')<cr>'/ **/*.php<cr>
ただし、マッピングでコマンドキーを使用しないことをお勧めします。これはMacVimでのみ機能し、可能な限りどこでも移植性を追求することをお勧めします。
キーはその<leader>
ようなものに最適です。
nnoremap <leader>i :vimgrep //do_action([ ]\?'<c-r>=expand('<cword>')<cr>'/ **/*.php<cr>
:help c_ctrl-r_=
およびを参照してください:help leader
。
編集
私はこれに少し速すぎました。kevによるコマンドのやり直し(愚かな//
)に不要な雑然としたものを追加しただけでなく、それが単純化できることに気づきませんでした。これはテストされ、機能しています。
nnoremap <leader>i :vim do_action(\s*'<c-r>=expand('<cword>')<cr> **/*.php<cr>
ごちゃごちゃしてすみません。