你怎么在vi中拉出一条线的一部分?

时间:2014-07-07 23:36:24

标签: vi

我花了很多时间寻找答案,但我只能找到 vim 的答案,建议使用可视模式或寄存器。这些似乎都不是vi的选项(版本SVR4.0,Solaris 2.5.0)。我知道Dyydd,它会拉动或删除整行或直到最后一行。

我现在想知道是否甚至可以抽出/删除一行的一部分:例如,括号内的部分: 我想合作这条线。

2 个答案:

答案 0 :(得分:2)

所有移动命令都与yank一起使用,如h, j, k, l左,下,上,右。因此,如果光标位于

中的第一个p
I want to co[py this par]t of the line.

y11l(yank eleven ell)给出了

py this par

y3w为您提供接下来的3个字词,这意味着如果结果]不存在,则会包含最终的t

如果您的光标位于[上(假设其实际上是字符串的一部分),y%(移至匹配括号)会显示:

[py this par]

答案 1 :(得分:0)

你可以做到

y f character

除了[y]ank [f]inds之前,character才会f p y f r

在你的例子中。你可以

f

找到p - yank,直到找到r

为您的例子

  

我想合作[py这部分t]他行

我通常会这样做

p y - 找到p

/he line - 输入“yank mode”

Enter - 直到找到“he line”这个短语

{{1}}

“he line”就是角色之后的任何文字,我输入直到我知道它足以选择它而不是别的东西。