复制VI中的部分线条

时间:2012-10-08 10:36:35

标签: vim vi

有很多种不同的方法可以让完整的单线/多线完成。有没有办法可以在vi中复制部分行,就像行的10个字符一样。

8 个答案:

答案 0 :(得分:13)

我猜最常见的部分情绪是:

yaw:抓住光标当前所在的单词 2yaw:将光标放在当前位置和下一个(总共2个字)中 ya(:拉出包含光标的匹配括号 yf.:从光标移动到下一个.
y$:从光标移动到行尾

可以使用任何移动键。

答案 1 :(得分:4)

您可以执行y 运动,因此对于10个字符:y10l从当前光标位置(包括)中抽出10个字符

答案 2 :(得分:4)

剪切和粘贴:

将光标定位在您要开始剪切的位置。

  1. v 选择字符(或大写 V 以选择整行)。
  2. 将光标移动到要剪切的末尾。
  3. d 剪切(或 y 复制)。
  4. 转到您要粘贴的位置。
  5. P 在光标前粘贴,或 p 粘贴后。
  6. 使用相同的步骤执行复制和粘贴,但步骤4除外,您将按 y 而不是 d
  7. d = delete = cut

    y = yank = copy

    资源: vim.wikia.com: Copy, cut and paste

答案 3 :(得分:2)

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

答案 4 :(得分:2)

你也可以

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

or y/<pattern>/ - yank until pattern

答案 5 :(得分:1)

当然,将光标放在行的开头,键入:

y10l

这会向右侧移动10个字符。如果由于某种原因需要重复执行此操作,只需添加此临时kep映射:

:noremap ,m ^y10l

每次按,m

时,哪个行将会收到任意行的前10个字符

答案 6 :(得分:1)

如果要复制多行,请尝试使用可视块模式

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

更多详细信息,请参阅wiki

答案 7 :(得分:0)

这是鼠标实际可以击败键盘的地方,特别是当前鼠标光标远离复制目标时,或者如果要选择具有部分起始行或结束行的多行。

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