vim重新映射<;C-W>;d没有按预期工作

vim重新映射<;C-W>;d没有按预期工作,vim,Vim,我想重新映射d(来自cucumber vim)到一个简单的鼠标双击。我试过了 noremap d 但除了给我E388:找不到定义之外,这没什么用 我做错了什么?因为noremap不允许rhs的映射。请参见:帮助:noremap: :否[remap]{lhs}{rhs} 对于Map命令应用的模式,将键序列{lhs}映射到{rhs}。不允许{rhs}的映射,以避免嵌套和递归映射。通常用于重新定义命令 您使用noremap定义了映射,因此无法使用cucumber vim的功能。相反,它使用默认的d行

我想重新映射
d
(来自cucumber vim)到一个简单的鼠标双击。我试过了
noremap d
但除了给我
E388:找不到定义之外,这没什么用


我做错了什么?

因为
noremap
不允许rhs的映射。请参见
:帮助:noremap

:否[remap]{lhs}{rhs}

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

您使用
noremap
定义了映射,因此无法使用cucumber vim的功能。相反,它使用默认的
d
行为,
:help CTRL-W\u d

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

实际上,这会引发
E388:找不到定义
错误

因此,如果您想要cucumber vim行为,请尝试
Mapd
。以下是vim中
d
的定义供您参考

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

非常感谢您。。。明天我将更新我的.vimrc并测试它!