在vim中映射键时nore是什么意思?

时间:2012-04-22 21:11:40

标签: vim

在vim中映射键时nore的含义是什么?例如,这两个映射之间有什么区别?

:map ddd ddjdd

:noremap ddd ddjdd

4 个答案:

答案 0 :(得分:7)

这意味着映射 n - 重新草书。

为了说明,

:nmap x dd

假设您将x以正常模式映射到dd(删除行),以节省一些时间,删除行。一切正常,直到你需要在其他一些映射中删除x(删除字符)来删除两个字符,

:nmap c xx

因为现在上面的映射真的是

:nmap c dddd

即。将删除两行。

因此,为了保留“原始”映射(vim键),你以非递归的方式进行,

:nnoremap x dd
:nnoremap c xx

一切正常(映射不......啊,你明白了)......

使用“nore”进行所有映射通常是一种很好的做法,因为你永远不知道哪些插件可能依赖于什么,以及你用“普通”映射打破了哪些vim行为。

答案 1 :(得分:2)

内置文档中涵盖了所有内容

map

  

将模式的键序列{lhs}映射到{rhs}               map命令适用的位置。结果,包括               然后进一步扫描{rhs}以进行映射。这个               允许嵌套和递归使用映射。

noremap

  

将模式的键序列{lhs}映射到{rhs}               map命令适用的位置。禁止映射               {rhs},以避免嵌套和递归映射。经常               用于重新定义命令。 {不在Vi}

答案 2 :(得分:1)

nore代表非递归。它会导致映射的右侧忽略映射。

答案 3 :(得分:0)

如果你读完整个单词会很有帮助。 “noremap”,如“无重新映射”。这意味着无法更改映射。