これらのコマンドが異なる理由を理解できません。Vim:Exコマンドを連結する "bar"をエスケープする
、vimrcファイルに貼り付け、通常でt
を押すことによって活性化:
nnoremap t :call search('\m\(a\|b\)', 'W')<CR>
nnoremap t :call search('\m\(a\\|b\)', 'W')<CR>
:具体的には
:call search('\m\(a\|b\)', 'W')
:call search('\m\(a\\|b\)', 'W')
: "意図" 動作がで\\|
が必要ですnnoremap
例ですが、call
検索例では\|
が必要です。
バー(:help :bar
)の特別扱いはVimが私のためにレイアウトしたトラップの1つですが、まだ意味がありません。ドキュメントには、「このコマンドリストには引数が含まれています」と明記されていますが、ここには例外はありません。この例に含まれるすべてのコマンドは、バーをメタ連結文字として扱います。また、この状況では、バーは文字列の中にあり、文字列の一部として解析されています(私は思うか?)は、メタ連結構文よりも優先されます。あなたがVimの*map
とcommand
コマンドを使用する場合
ありがとうございます。私は、 ':map'コマンドがどういう意味でその内容を見ていなくても引数を解析しなければならないことを間違いなく見落としました。 – Ein