也许我在标题中说得不是很清楚,我正在寻找一种Mapf键来执行某个命令的方法,但前提是我没有处于另一系列a键敲击(如cf<char>或df<char>)的中间。有办法知道吗?多谢了!(我搜索了这个网站,没有找到类似的问题)。
f
cf<char>
df<char>
byqmnocz1#
在cf<char>和其他 operator+motion 场景中,Vim在操作符之后进入一个特殊模式,即“operator-pending mode”,在该模式下,为其他模式创建的Map不适用。因此,您可以在正常模式下Mapf,而不会影响其在操作员挂起模式下的行为:
nnoremap f <Cmd>echo 'foo'<CR>
也就是说,f本身就是一个有用的命令,所以用不相关的东西覆盖它可能不是一个好主意。而且,正常模式下的f和操作符挂起模式下的f具有相同的语义。通过改变一个f的含义,可以使另一个f变得不那么有用。
1条答案
按热度按时间byqmnocz1#
在
cf<char>
和其他 operator+motion 场景中,Vim在操作符之后进入一个特殊模式,即“operator-pending mode”,在该模式下,为其他模式创建的Map不适用。因此,您可以在正常模式下Map
f
,而不会影响其在操作员挂起模式下的行为:也就是说,
f
本身就是一个有用的命令,所以用不相关的东西覆盖它可能不是一个好主意。而且,正常模式下的f
和操作符挂起模式下的f
具有相同的语义。通过改变一个f
的含义,可以使另一个f
变得不那么有用。