假设我有一个这样的文档之前逃脱寄存器的内容,我想搜索的URL的所有出现:创建Vim的命令行的映射,在插入它
Vim resources: [http://example.com/search?q=vim][q]
...
[q]: http://example.com/search?q=vim
我不想完整输入,所以我将光标放在第一个URL上,然后运行"uyi[
将其放入'u'寄存器中。现在,搜索它,我想仅仅通过运行粘贴的是注册到搜索领域的内容:
/\V<c-r>u<CR>
Vim将搜索字符串的“http:” - 因为“/”字符终止搜索字段。
我可以通过运行这个,而不是得到解决该问题:
/\V<c-r>=escape(@u, '\/')<CR><CR>
但它是一个很大的打字!
如何为Vim的命令行创建映射来简化此工作流?
我理想中的工作流程会去是这样的:
- 按
/\V
带来了搜索提示,使用起来非常nomagic模式 - 敲Ctrl-X以触发自定义映射(CTRL-X是可用)
- Vim的监听下一个按键...(按
<Esc>
将取消) - 按下“U”将逃脱的“U”寄存器的内容,然后将命令行上
我目前在可视模式下使用'*'。我有一些基于此脚本的自制插件:http://amix.dk/blog/post/19334 –
@PeterRincker - 是的,我使用[类似的东西](https://github.com/bronson/vim-视觉明星搜索)呢! Vim自己的文档建议[类似映射](http://vimdoc.sourceforge.net/htmldoc/visual.html#visual-search),尽管它有点不完整。 – nelstrom