[英]vi/vim editor, copy a block (not usual action)
在 vi/vim 编辑器中,我需要复制一个块。 有很多方法,但一种方法很快。
以某种方式标记第一行,
然后以某种方式标记结束线,
然后输入一些命令来复制标记的行。
然后复制,可能使用'p',但不确定。
有人知道命令吗(不是 yy 或 10yy)? 提前致谢。
只需使用V选择行或v选择字符或Ctrl v选择一个块。
When the selection spans the area you'd like to copy just hit y and use p to paste it anywhere you like...
剪切和粘贴:
复制和粘贴使用相同的步骤执行,但步骤 4 中您将按 y 而不是 d:
d = delete
= cut
y = yank
= copy
另一个可能更容易记住的选项是在m a和m b的两行上放置标记,然后运行:'a,'byank
。
许多不同的方法来完成这项任务,只是提供另一种。
我发现下面的命令更方便。 如果要从 6 行复制到 12 行并从当前光标位置粘贴。
:6,12 co .
如果要将第 6 行复制到第 12 行并从第 100 行粘贴。
:6,12t100
来源: https : //www.reddit.com/r/vim/comments/8i6vbd/efficient_ways_of_copying_few_lines/
听起来您想在文件中放置标记。
m x在光标下放置一个名为x的标记
y ' x猛拉光标当前位置和包含标记 x的行之间的所有内容。
您可以使用' x简单地将光标移动到带有标记的行。
您可以使用` x (反引号)移动到标记的确切位置。
我一直做的一件事是将光标和标记 x 之间的所有内容都拖入剪贴板。
你可以这样做:
" + y ' x
注意:在某些环境中,剪贴板缓冲区由*
代替+
。
类似的问题有一些很好的答案:
键盘快捷键是:
对于复制:将光标放在块的开头并按md ,然后转到块的结尾并按y'd 。 这将选择要粘贴的块,按 p
对于剪切:将光标放在块的开头并按ma ,然后转到块的结尾并按d'a 。 这将选择要粘贴的块按 p
您可以像在 vi 中那样进行操作,例如将行从 3020 拉到末尾,执行此命令(将块写入文件):
:3020,$ w /tmp/yank
并将此块写入另一行/文件,转到所需位置并执行下一个命令(插入之前写入的文件):
:r /tmp/猛拉
(提醒:不要忘记删除文件:/tmp/yank)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.