Linux vim:如何在vim可视模式下复制单词,但在可视块模式下粘贴它?

Linux vim:如何在vim可视模式下复制单词,但在可视块模式下粘贴它?,linux,vim,Linux,Vim,我想使用vim的可视模式复制一个简单的文本,然后使用块模式将其粘贴到多行中。我怎样才能做到这一点 例如: //this all lines are commented for debug -- int c = 10; int a = 2; uint8 d = 0; uint8 n = 0; 我想说: //this all lines are commented for debug -- //this all lines are commented for debug -- int c =

我想使用vim的可视模式复制一个简单的文本,然后使用块模式将其粘贴到多行中。我怎样才能做到这一点

例如:

//this all lines are commented for debug -- 
int c = 10;
int a = 2;
uint8 d = 0;
uint8 n = 0;
我想说:

//this all lines are commented for debug -- 
//this all lines are commented for debug -- int c = 10;
//this all lines are commented for debug -- int a = 2;
//this all lines are commented for debug -- uint8 d = 0;
uint8 n = 0;
我试着突出显示评论部分(使用v向右箭头组合),然后猛拉。现在,我想把这个拉伸的结果粘贴到所有预期的行之前。这不需要在生产线的开头,
我不能使用I选项手动键入注释。

我会猛拉第一行,然后在第一列进入块视觉模式
,然后选择几行,
I
nsert before,然后从插入模式粘贴默认寄存器(
)。按顺序排列:

y$<down><home><c-v>4<down>I<c-r>"<esc>
y$4I”

应该可以做到这一点。

我认为这是最小值(从第一行和第一列的光标开始,您可以通过gg0获得): y$jCTRL-v2jP。(使用Vim 8.2进行测试,使用
Vim-u NONE启动,以确保我的设置不会影响测试。)

考虑到问题的标题,我认为您不需要任何解释,除了p,如果您处于视觉块模式,将粘贴在您选择的所有行上


但是,显示了一个强大的技巧(CTRL-r),它可以在更广泛的情况下使用。

谢谢,我不知道,“技巧。这在其他地方也会有帮助。请查看
I\u CTRL-r
文档。
不是唯一可用的寄存器。在这些情况下,我经常使用
。这不起作用,当我粘贴(P)时,它只在块视觉模式下粘贴到第一行。即使我按了(Esc),也只有第一行得到了更新。@ranjithkonaje,您说当您点击Escape时该行得到了更新,这让我觉得您使用的是另一个进入插入模式的命令。我的命令从未进入插入模式。请查看我的答案(顺便说一句,我已经删除了一个超级按键),并确保您按了这3个键到达位置(1,1),并按了这7个键完成工作。python conv.py K:\VECTORS\a b
code
c
code
d
code
f
code
g
code
h假设这是我的代码,当我执行你的序列时:我得到:
code
python conv.py K:\VECTORS\
code
code
code
d
code
e
code
f
code
g
code
t上面的注释看起来不清晰-我无法正确格式化它,但结果仅出现在第二行python conv K:\VECTORS\get上added@ranjithkonaje你从来没有提到过像“K:\VECTORS”这样的东西。请用格式化的代码更新问题,并指定您想做什么以及您尝试了什么。