Vim 复制VI中的部分行

Vim 复制VI中的部分行,vim,vi,Vim,Vi,有很多不同的方法可以拉下一条/多条线。是否有一种方法可以复制vi中的部分行,例如仅复制行的10个字符。当然,光标位于行的开头,键入: y10l 这将向右猛拉10个字符。如果出于某种原因需要重复执行此操作,只需添加此临时kep映射: :noremap ,m ^y10l 它将在每次按下,m时拖动任何行的前10个字符,您可以执行y移动,因此对于10个字符:y10l从当前光标位置(包括)拖动10个字符如果要复制多行,请尝试视觉块模式 " beginning of line C-v " up-down

有很多不同的方法可以拉下一条/多条线。是否有一种方法可以复制vi中的部分行,例如仅复制行的10个字符。

当然,光标位于行的开头,键入:

y10l
这将向右猛拉10个字符。如果出于某种原因需要重复执行此操作,只需添加此临时kep映射:

:noremap ,m ^y10l

它将在每次按下
,m

时拖动任何行的前10个字符,您可以执行
y
移动,因此对于10个字符:
y10l
从当前光标位置(包括)拖动10个字符

如果要复制多行,请尝试视觉块模式

" beginning of line
C-v
" up-down move 10j or 5k
10l
" copy & paste
y
p 

更多详细信息,请参见

这是一个地方,鼠标可能会在键盘上移动,特别是当当前鼠标光标远离复制目标,或者如果要选择多个具有部分起始线或结束线的行时


使用
:设置mouse=a
以启用鼠标支持。然后用鼠标选择任何不规则的文本块,然后按
y

我更喜欢只按v键,然后使用光标键移动选择。然后在您满意的情况下按下y键以拖动选择。

我猜最常见的部分拖动是:

yaw
:拖动光标当前所在的单词
2yaw
:将光标拉入当前所在的单词和下一个单词(总共2个单词)
ya(
:拖动包含光标的匹配括号
yf.
:将光标猛拉到下一个

y$
:将光标拉到行尾

可以使用任何移动键。

您也可以这样做

yt<char> - yank 'till char - i use that a lot

or y/<pattern>/ - yank until pattern
yt-yank'till char-我经常用这个
或y//-猛拉直至形成图案
剪切和粘贴:

将光标定位到要开始剪切的位置

  • v选择字符(或按大写v选择整行)
  • 将光标移动到要剪切的内容的末尾
  • d进行剪切(或按y进行复制)
  • 移动到要粘贴的位置
  • P在光标前粘贴,或按P在光标后粘贴
  • 复制和粘贴的执行步骤相同,但步骤4除外,在该步骤中,您将按y,而不是按d
  • d=删除=剪切

    y=yank=copy

    资源:

    我通常会这样做,例如,向右猛拉5个字符。我想还有其他方法:)