繁体   English   中英

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

[英]vim: how to copy a word in vim visual mode, but paste it in visual block mode?

我想使用 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 right_arrow 组合),然后 yanked 。 现在我希望将这个拉出的结果粘贴在所有预期行的前面。 这不必在行首,我不能使用 I 选项手动输入注释。

我会拉第一行,然后在第一列<CV>上进入块可视模式并选择几行, I之前插入,然后从插入模式( <cr>" )粘贴默认寄存器。换句话说:

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

应该做的伎俩。

我认为这是最小值(从第一行第一列的光标开始,您可以通过g g 0获得): y $ j CTRL-v 2 j P (用 Vim 8.2 测试,用vim -u NONE启动以确保我的设置不会影响测试。)

鉴于问题的标题,我认为您不需要任何解释,除了P ,如果您处于可视块模式,则会粘贴到您选择的所有行上。

然而, Luc Hermitte 的回答展示了一个强大的技巧( CTRL-r ),它可以在更广泛的情况下使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM