VIM:在普通模式下取消句点键的映射

6
我尝试使用EasyMotion插件,但我不想使用正常的leader键,我的情况下是\。我也不打算完全更改leader键,因为这可能会破坏vim-latex中的东西。
所以我考虑使用period键代替(我已经在使用逗号键进入命令行模式),因为我从来没有真正使用过它的重复功能:
这是我在我的.vimrc中尝试过的:
nunmap .
let g:EasyMotion_leader_key = '.'

第二个命令似乎可以正常工作。但是我无法使用第一个命令解除period键的绑定(E31:没有这样的映射)。如果我只想在普通模式下解除period键的绑定,那么请随时纠正我。任何想法都将不胜感激!

1
我只是想提醒一下,使用 . 作为前导可能不是一个好主意。在正常模式下,. 会重复上一次的操作。请参阅 :h . 以了解详细信息。如果您将 . 用作“前导”,则将失去此有用的功能。 - Kent
@Kent 我并没有真正用过它。这就是为什么我考虑在这种情况下将其用作领导者。如果你有任何好的例子说明它有多么有用,请随意评论。 - Goliathus
1
我认为它是非常有用的功能。我每天都会使用它(几乎没有例外)。我知道这可能无法说服你。有太多带“.”的例子需要重复更改。评论区不太支持代码格式。所以你可以自己尝试一下。同时也有一个插件“repeat”,可以扩展“.”的功能。 - Kent
2个回答

14

您可以通过使用以下方式在正常模式下禁用点号:

nnoremap . <NOP> 

正是我需要的,可以避免意外按下 Q 键 :) - helvete

1
错误已经说明了一切,没有这样的映射。使用nunmap删除用户映射,.是内置命令,而不是映射,所以你实际上无法取消映射它...
有点不太清楚,但如果它作为所需的 leader 工作,那么你可以只删除取消映射.的行。它是不必要的。

就我使用 EasyMotion 时,将 period 作为 leader key 是可以正常工作的。 但问题在于: 如果我先按一次句号,然后再按 EasyMotion 中相应的键,它会按照预期正常工作。但是如果我连续按两次句号,它会像默认方式一样,重复上一个命令。对我来说,这感觉有些“不好”,因为我不希望一个按键能够以我明显不想要的方式起作用。period 按键只应该是 EasyMotion 的 leader,而不应该有其他功能。我认为这应该是可能的,例如,我可以重新映射 comma 在普通模式下给我一个冒号。 - Goliathus
@Goliathus 哦,我明白了。那么FDinoff确实提供了你要找的答案。如果你无法取消映射它,就将其映射为“nothing”!:-) 我简直无法想象没有“.”命令的自己... - sidyll

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接