vim重映射<c-w> d没有按预期工作

时间:2016-02-12 23:48:30

标签: vim

我想将storage/framework/views(来自cucumber-vim)重新映射到简单的鼠标双击。我试过了 <C-W>d 但除了给我noremap <2-LeftMouse> <C-W>d 之外,这没有任何作用。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

因为noremap不允许rhs的映射。见:help :noremap

  

:没有[remap] {lhs} {rhs}

     

将映射命令应用的模式的键序列{lhs}映射到{rhs}。禁止映射{rhs},以避免嵌套和递归映射。通常用于重新定义命令。

您使用noremap定义了地图,因此您无法使用cucumber-vim的功能。相反,它使用默认的<C-W>d行为,:help CTRL-W_D

  

打开一个新窗口,光标位于第一个宏定义行上,该行包含光标下的关键字。搜索从文件的开头开始。如果给出了计数,则计数匹配的行将跳转到。

实际上这会引发E388: Couldn't find definition错误。

因此,如果您想要tiger-vim行为,请尝试map <2-LeftMouse> <C-W>d。有关您的信息,以下是cucumber-vim中<C-W>d的定义。

nnoremap <silent> <script> <buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<SID>foldopen<CR>