gpt4 book ai didi

vim - 是否有可能在操作者未决的映射中确定运动是直线运动, block 运动还是法线运动?

转载 作者:行者123 更新时间:2023-12-04 04:39:03 27 4
gpt4 key购买 nike

当声明带有omaponoremap的映射时,我希望能够处理运动为逐块,逐行或标准运动的情况。

例如,让我们考虑以下块:

abcd
efgh
ijkl
mnop

光标在字母f上。假设我定义了一个从 K:normal! vjl的运算符映射(转到字母k)。
onoremap K :normal! vjl<cr>

有趣的是,当我分别运行 dvKdKd^VK时,
abcd   abcd   abcd
el el eh
mnop mnop il
mnop

但是,当我运行 dVK时,它将不起作用,与 dvK完全相同。

我尝试使用 visualmode()(映射定义为 @=visualmode()<cr>jl<cr>,但这无法正常工作。当在运算符(operator)待定模式下使用 vV或CTRL-V时,此函数的返回值似乎不会立即受到影响。

请问有人有线索吗?
谢谢

最佳答案

为了实现您想要的,您可以简单地定义

onoremap K :<c-u>normal! jl<cr>

请注意,此运动是由前命令构成的,始终是按字符排列的(请参见 :h movement
然后,您可以自由使用 dvdVd^V强制将运动设为另一种类型,并获得所需的内容。

关于vim - 是否有可能在操作者未决的映射中确定运动是直线运动, block 运动还是法线运动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com