10

可以说我有这个文本:

$test = 'lorem';
$test2='ipsum';

我想复制lorem并粘贴到ipsum中。我尝试yi'在 lorem 上做,然后在 ipsum 上做了,ci'但是用 ipsum 替换了我的 pastebin。我以前的副本丢失了。

4

10 回答 10

10

yi' on lorem, 移到 ipsum 的 i, vep ?

于 2009-03-06T15:26:47.293 回答
9

简单的:

"kyi' on lorem, 移动到 ipsum 的 i, ve"kp

这将 lorem 拉入寄存器 k,将其粘贴到来自寄存器 k的 ipsum 上,并将其保存在寄存器 k 中,以便再次粘贴到您可能想要放置的任何其他位置。ipsum 仍然会在默认寄存器中结束,但这不再是问题并且也可能有用。

如果您已经在寄存器 k 中得到了一些东西,您可以使用不同的寄存器来代替(只需使用不同的键)。

于 2009-06-11T14:45:10.630 回答
7

我通常去 sed 命令。

:%s/ipsum/lorem/g
  • %意味着对每一行都这样做
  • s表示 sed,或搜索和替换
  • g最后意味着将每个替换ipsumlorem; 如果你省略它,它只会替换第一个。
于 2009-03-06T15:25:23.180 回答
3

转到 lorem 的 l,ye(拉到词尾)。转到ipsum的i,“_de(删除到词尾,将删除的文本放入黑洞寄存器。P(在光标之前粘贴寄存器)。

总而言之:yej"_deP

于 2009-03-06T16:12:15.547 回答
2

为什么不使用 猛拉到命名缓冲区,"ayi'然后使用 删除和粘贴d'i"aP

于 2009-03-06T15:24:40.670 回答
1

我不确定你到底想要什么。

你有两行:

$test = 'lorem';
$test2= 'ipsum';

如果你去 l 和 yw,它会拉取 lorem,然后去 ipsum、cw 和 p 的 i,它将用 lorem 替换 ipsum。您仍然会在寄存器中同时拥有 lorem 和 ipsum。

您可以使用 :reg 获取这些寄存器的内容

如果你想从他们那里粘贴一些东西,那么 "*p, 或 ":p, 或 "0p (当你输入:reg时你会看到它)

于 2009-03-06T15:25:45.253 回答
0

此处停止 Markdown 将后面的代码视为纯文本的单词。

/lorem
"adw
/ipsum
"aP"bdw
``
"bp

第一个文本搜索“lorem”;next 将单词删除到名为“a”的缓冲区中,在文本中留下一对空引号。下一次搜索找到“ipsum”;将"aP名为“a”的缓冲区拉入单词 ipsum 之前;将"bdw单词删除到名为“b”的缓冲区中,留下“lorem”。双反引号返回上次搜索的来源 - 空引号;并"bp在第一个引号之后拉出命名缓冲区。

您也可以省略"aand "b,但是这样,值在命名缓冲区中"a"b并且可以一次又一次地复制,直到您不再需要这些值为止。

于 2009-03-06T15:56:20.733 回答
0

在您执行ci'impsum 之后,您的 lorem 就在 register 中"0。因此,您可以执行ci'^R0( ^Rmeans Ctrl+r) 并将您的 lorem 粘贴到 ipsum 的位置。

有关编号寄存器的更多信息,请参阅:help quote_number

于 2009-03-06T16:53:22.000 回答
0

vi'ylorem

vi'pipsum上

gvy复制回lorem以注册可能的宏vi'p

( qa- gvy- j- vi'p- q- @a- @@- @@...)

于 2009-03-06T18:16:24.313 回答
-1

您想用来y复制选择和p粘贴。

这是一个很好的清单,可以随身携带。

于 2009-03-06T15:25:48.700 回答