5

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

4

6 回答 6

5

非常简单的方法:

  1. 选择与Shift-V
  2. “Yank”(=复制)文本y
  3. 将文本粘贴到p您想要的位置。

当然还有很多其他的复制和粘贴方式,yy例如复制当前行。

做一些vim教程,总比一点一滴学好。

于 2010-02-26T12:21:30.150 回答
5

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

当您在正确的行时,用 拉动整行yy或用 拉动整个单词yaw。然后通过键入两个反引号返回到您开始搜索的位置`` 然后您可以粘贴拉动的行/字符串p

于 2010-02-26T13:57:21.423 回答
3
  • 通过键入标记您当前的位置ma(您可以使用任何其他字母代替 a,这只是一个“命名位置寄存器”。
  • 例如通过使用/搜索导航到行和子字符串
  • 抽出文本或用然后y<movement>标记它shift/ctrl-vy
  • 用 ```a`` (反引号)回到你之前标记的位置
  • p用or粘贴你的缓冲区P
于 2010-02-26T13:43:30.783 回答
3

我的正常方法是:

  1. 使用可视模式选择带有vVCtrl+的文本v
  2. Yank 使用y
  3. 转到您要使用的线路123G:123
  4. t使用或导航我想在该行内的位置f
  5. 将文本与porP

如果您需要在这些点之间来回跳跃,我会使用g,and循环跳跃g;

于 2010-02-26T13:45:28.973 回答
1

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

于 2010-02-26T12:19:11.920 回答
1

不确定“子字符串”是什么意思。如果要将第 50 行复制到当前位置,请使用:

:50吨。

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

:50公尺。
于 2010-02-26T13:47:06.297 回答