我可以创建一个映射来搜索光标下的单词,如下所示:
noremap <leader>/ :grep <cword> **<cr>
为什么联合映射这样的映射(我怀疑这是一个特定的联合问题)需要<C-r>=expand('<cword>')<CR>
或<c-r><c-w>
而不是<cword>
?
nnoremap g/ :Unite -input=<C-r>=expand('<cword>')<CR> tag<CR>
答案 0 :(得分:1)
%
和<cword>
等特殊字符在:help cmdline-special
下解释。
在Ex命令中,在可以使用文件名的位置,以下内容 人物有特殊的意义。这些也可以用在表达式中 函数
expand()
。
这解释了为什么:edit <cword>
有效,但:echo "<cword>"
没有:后者不带文件名。 :grep
只是模糊地指[arguments]
,但其中有些必须是文件。 :Unite
命令是通用的(和自定义的),因此您需要在那里使用expand()
。如有疑问,请试一试: - )