繁体   English   中英

Vim在vimrc中重新映射时执行代码

[英]Vim execute code on remapping in vimrc

我在vimrc文件中创建了以下映射:

noremap <C-p> ! firefox -new-tab http://php.net/<cword><C-m>

问题是它继续删除光标下的

如何使该映射正常工作?

如果我了解您要执行的操作,则应该可以进行以下操作:

nmap <c-p> :!firefox  -new-tab http://php.net/<c-r>=expand('<cword>')<CR><CR>

请参阅文档以获取更多信息。

您正在使用noremap ,这意味着它将触发:

  • 在正常模式下
  • 在视觉模式下
  • 在操作员待定模式下。

您应该改用nnoremapxnoremap 另外,请注意! :.!的快捷方式 在正常模式下(作用于当前行),对于:'<,'>! 在视觉模式下(作用于当前的视觉选择线)。 如果您不想要这样:

nnoremap <c-p> :!firefox ... 
xnoremap <c-p> :<c-u>!firefox ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM