如何使用vim中的鼠标选择一大块文本并将其粘贴到当前光标位置?

时间:2010-02-26 12:16:51

标签: vim copy paste

我想放弃使用鼠标在缓冲区中选择和粘贴文本块。什么是最有效的方式来做到这一点只有kb?我的意思是导航到任意行,复制子字符串,返回到前一个位置并粘贴。

6 个答案:

答案 0 :(得分:5)

如果您想快速进入某一行,请键入以进行搜索 /SUBSTRING然后在找到正确的子字符串后输入。 确保使用hlsearch和incsearch :set incsearch:set hlsearch

当你在正确的行时,用yy或整个单词yaw抽出整行。 然后输入两个反引号``返回搜索开始的位置 然后,您可以使用p

粘贴您的拉线/字符串

答案 1 :(得分:4)

非常简单的方法:

  1. 选择Shift-V
  2. “Yank”(=复制)带有y
  3. 的文字
  4. p的文字粘贴到您想要的位置。
  5. 当然还有许多其他复制和粘贴方法,例如yy复制当前行。

    做一些VIM教程,它比一点一点地学习所有内容更好。

答案 2 :(得分:3)

  • 键入ma标记您当前的位置(您可以使用任何其他字母代替a,这只是一个“命名位置寄存器”。
  • 导航到行和子字符串,例如使用/搜索
  • 使用y<movement>抓取文字或用shift/ctrl-v标记,然后y
  • 使用“`a``(反击)
  • 回到之前标记的位置
  • 使用pP
  • 粘贴您的缓冲区

答案 3 :(得分:3)

我的常规方法是:

  1. 使用可视模式选择 v V Ctrl + v
  2. Yank使用 y
  3. 使用123G:123
  4. 转到您要使用的行
  5. 使用 t f
  6. 导航我想要在该行内的位置
  7. 将文字放在 p P
  8. 如果你需要在斑点之间来回跳跃,我会使用 g g 循环跳跃;

答案 4 :(得分:1)

使用“p”粘贴在当前行之后,并使用“P”粘贴到当前行之上。

答案 5 :(得分:1)

不确定'substring'是什么意思。如果要将第50行复制到当前位置,请使用:

:50t.

如果要将第50行移动到当前光标位置,请使用:

:50m.