如何阻止复制到原始文本而不是在VI中覆盖?

时间:2016-12-01 08:09:46

标签: vim

现在,我正在使用Linux和VI编辑器。 在我使用VI期间我遇到了一些问题。当我在文本中使用块复制时,文本会在原始文本上被覆盖。

如何阻止复制到原始文本而不是在VI中覆盖?

添加屏幕截图

screen shot

2 个答案:

答案 0 :(得分:0)

在vi或vim编辑器中,您需要使用ctrl + v从命令模式进入可视块模式。在进入可视块模式之前,将光标移动到要复制的块。然后按ctrl + v。然后选择你的块。选择后你只需按y即可复制。然后移动到文件的光标末端并按p粘贴。多数民众赞成。

答案 1 :(得分:0)

如果您已经块状视觉选择,将块当前位置粘贴到现有文本中,而不添加新行或向下移动现有文本。这是预期的行为;你有效地处理了一个正方形" cutout"文本,与底层文本结构分开。

如果您正在处理完整的广告系列(并且根据您的屏幕截图,您就是这样做的),正确的方法是选择并按文字按行 ;即使用 Shift + V 代替 Ctrl + V 进行选择(或[count]yy正常模式,如果你知道行数就会更快。)

如果你真的需要拉一个方块,并将其粘贴为新行,有以下方法:

  1. 在粘贴之前留出空间(例如10o<Esc>`[),然后粘贴。
  2. 在抽奖和粘贴之间更改注册表的模式::call setreg('', '', 'al')
  3. 使用我的UnconditionalPaste plugin;它提供(以及其他)glp命令强制行方式粘贴,无论文本是如何被拉扯的。