gpt4 book ai didi

Vim 在 block 模式下选择部分多行,其中目标大小可变

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

假设您有以下 kotlin 代码:

package sample

data class Sample(
val title: String,
val subTitle: String,
val threeBlocksTitle: String
)

您正在使用 vim 进行编辑,并且想要像使用 Intellij 所做的那样进行 V-BLOCK 选择:

Intellij sample

我所做的一切尝试都会导致以下两种情况之一:

选择太多:

select too much

选择太少:

select too few

我正在为此苦苦挣扎,但我不知道如何做到这一点:S

已编辑

我的最终目的是复制 val 名称并使用它作为命名参数创建一个实例,如下所示:

named args

最佳答案

首先,视觉选择:

如果你想让 vim 显示与 IntelliJ 显示的完全一样的视觉 block ,你不能这样做。

但是,如果你只想提取变量名称,那么 vim 肯定可以做到。

在我的示例代码中,我使用寄存器x,因此请在尝试解决方案之前清除它。

清除x寄存器:

qxq

您可以做的是,选择包含目标变量名称的 3 行,然后执行以下操作:

:'<,'>s/\w\+\ze:/\=setreg('X', submatch(0), 'V')/gn

然后转到您要粘贴的位置:

"xp

enter image description here

请注意,当您按下 : 时,vim 会自动添加范围,因此您无需输入

事实上,如果我是你,我会复制这 3 行(整行或不带 val),然后粘贴到某个地方,很容易编辑来实现你的目标:

enter image description here

关于Vim 在 block 模式下选择部分多行,其中目标大小可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61957868/

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