在vi / vim编辑器中,我需要复制一个块。有很多方法,但是一种方法非常快捷。
以某种方式标记第一行,
然后以某种方式标记终点线
然后输入一些命令来复制标记的行。
然后复制,可能使用'p',但不确定。
有人知道命令吗(不是yy或10yy)?提前致谢。
Answers:
另一个可能更容易记住的选项是使用ma和在两行上放置标记mb,然后运行:'a,'byank
。
完成这项任务的方法有很多,只是提供了另一种方法。
仅用于V选择行或v选择字符或Ctrlv选择块。
当所选内容跨越您要复制的区域时,只需点击y并用于p将其粘贴到您喜欢的任何位置...
Ctrl+v
剪贴板上的剪贴板在哪里,您应该使用它Ctrl+q
来选择一个块
v
或进入VISUAL模式V
,然后按p
剪切和粘贴:
复制和粘贴按照与步骤4相同的步骤执行,除了要按y而不是d的步骤4:
d= delete
=cut
y= yank
=copy
我发现以下命令更加方便。如果要复制6到12行并从当前光标位置粘贴。
:6,12 co .
如果要复制6到12行,并从第100行粘贴。
:6,12t100
资料来源:https : //www.reddit.com/r/vim/comments/8i6vbd/ficient_ways_of_copying_few_lines/
听起来您想在文件中放置标记。
mx在光标下放置一个名为x的标记
y'x抽出光标当前位置和包含标记x的线之间的所有内容。
您可以'x将光标简单地移动到带有标记的行。
您可以使用`x(后退标记)移动到标记的确切位置。
我一直都在做的一件事是拉动光标之间的所有内容并将x标记到剪贴板中。
您可以这样做:
"+y'x
注意:在某些环境中,剪贴板缓冲区由*
而不是表示+
。
类似的问题,有一些好的答案:
V
我的工作流程了。不知道为什么我不使用它……
键盘快捷键是:
对于复制:将光标放在程序段的开头,然后按md ,然后转到程序段的末尾,然后按y'd。这将选择要粘贴的块,然后按p
对于剪切:将光标放在程序段的开头,然后按ma ,然后转到程序段的末尾,然后按d'a。这将选择要粘贴的块,然后按p
:'a,'by a
。