我怎么知道我是否在关键系列的中间vim?

juzqafwq  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(161)

也许我在标题中说得不是很清楚,我正在寻找一种Mapf键来执行某个命令的方法,但前提是我没有处于另一系列a键敲击(如cf<char>df<char>)的中间。
有办法知道吗?
多谢了!
(我搜索了这个网站,没有找到类似的问题)。

byqmnocz

byqmnocz1#

cf<char>和其他 operator+motion 场景中,Vim在操作符之后进入一个特殊模式,即“operator-pending mode”,在该模式下,为其他模式创建的Map不适用。
因此,您可以在正常模式下Mapf,而不会影响其在操作员挂起模式下的行为:

nnoremap f <Cmd>echo 'foo'<CR>

也就是说,f本身就是一个有用的命令,所以用不相关的东西覆盖它可能不是一个好主意。而且,正常模式下的f和操作符挂起模式下的f具有相同的语义。通过改变一个f的含义,可以使另一个f变得不那么有用。

相关问题