plugins - Vim:用我自己的表达式包装插件映射

标签 plugins configuration vim

我有一个具有以下映射的插件:

:i <CR>          <CR><Plug>DiscretionaryEnd

我还想为 <CR> 创建我自己的表达式这属于这个原始映射。但是,当我做这样的事情时:

:inoremap <expr> <CR> test ? '<CR><Plug>DiscretionaryEnd' : '<Esc>'

CR 打印 \n<Plug>DiscretionaryEnd而不仅仅是\n接下来是插件的 DiscretionaryEnd 的委托(delegate)功能。

:h <Plug>说它用于内部映射,所以我可能会做错。但我认为有一种方法可以包装插件的行为,而无需深入了解其内部。我该怎么做?

最佳答案

虽然一般推荐use :noremap ,因为它使映射不受重新映射和递归的影响,这是该规则的一个异常(exception)。

在表达式映射中,映射适用于表达式本身,而不是返回的字符流。

:imap <expr> <CR> test ? '<CR><Plug>DiscretionaryEnd' : '<Esc>'

关于plugins - Vim:用我自己的表达式包装插件映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15388726/

相关文章:

javascript - Vim YouCompleteMe 模式未找到错误

vim - 在 scala sbt 控制台中使用 vim,scala repl ?

java - Eclipse插件: FileStoreEditorInput access unsaved data

java - setSession() 没有被调用?

configuration - 所有窗口的单个 vim 状态行

git - 如何更新远程服务器上的 .git/config

elasticsearch - Grafana与ElasticSearch:使用插件来操纵数据库

eclipse - 带插件的可移植 Eclipse Juno

jquery - 使用 jQuery .click() 事件和 <a href 'click'/> 时,在 IE 中发出声音 ='#'

Vim - 在每个字母之间插入一些东西