可以说我有这个文本:
$test = 'lorem'; $test2='ipsum';
我想复制lorem并粘贴到ipsum中。我尝试yi'
在 lorem 上做,然后在 ipsum 上做了,ci'
但是用 ipsum 替换了我的 pastebin。我以前的副本丢失了。
可以说我有这个文本:
$test = 'lorem'; $test2='ipsum';
我想复制lorem并粘贴到ipsum中。我尝试yi'
在 lorem 上做,然后在 ipsum 上做了,ci'
但是用 ipsum 替换了我的 pastebin。我以前的副本丢失了。
yi' on lorem, 移到 ipsum 的 i, vep ?
简单的:
"kyi' on lorem, 移动到 ipsum 的 i, ve"kp
这将 lorem 拉入寄存器 k,将其粘贴到来自寄存器 k的 ipsum 上,并将其保存在寄存器 k 中,以便再次粘贴到您可能想要放置的任何其他位置。ipsum 仍然会在默认寄存器中结束,但这不再是问题并且也可能有用。
如果您已经在寄存器 k 中得到了一些东西,您可以使用不同的寄存器来代替(只需使用不同的键)。
我通常去 sed 命令。
:%s/ipsum/lorem/g
%
意味着对每一行都这样做s
表示 sed,或搜索和替换g
最后意味着将每个替换ipsum
为lorem
; 如果你省略它,它只会替换第一个。转到 lorem 的 l,ye(拉到词尾)。转到ipsum的i,“_de(删除到词尾,将删除的文本放入黑洞寄存器。P(在光标之前粘贴寄存器)。
总而言之:yej"_deP
为什么不使用 猛拉到命名缓冲区,"ayi'
然后使用 删除和粘贴d'i"aP
?
我不确定你到底想要什么。
你有两行:
$test = 'lorem';
$test2= 'ipsum';
如果你去 l 和 yw,它会拉取 lorem,然后去 ipsum、cw 和 p 的 i,它将用 lorem 替换 ipsum。您仍然会在寄存器中同时拥有 lorem 和 ipsum。
您可以使用 :reg 获取这些寄存器的内容
如果你想从他们那里粘贴一些东西,那么 "*p, 或 ":p, 或 "0p (当你输入:reg时你会看到它)
此处停止 Markdown 将后面的代码视为纯文本的单词。
/lorem
"adw
/ipsum
"aP"bdw
``
"bp
第一个文本搜索“lorem”;next 将单词删除到名为“a”的缓冲区中,在文本中留下一对空引号。下一次搜索找到“ipsum”;将"aP
名为“a”的缓冲区拉入单词 ipsum 之前;将"bdw
单词删除到名为“b”的缓冲区中,留下“lorem”。双反引号返回上次搜索的来源 - 空引号;并"bp
在第一个引号之后拉出命名缓冲区。
您也可以省略"a
and "b
,但是这样,值在命名缓冲区中"a
,"b
并且可以一次又一次地复制,直到您不再需要这些值为止。
在您执行ci'
impsum 之后,您的 lorem 就在 register 中"0
。因此,您可以执行ci'^R0
( ^R
means Ctrl+r
) 并将您的 lorem 粘贴到 ipsum 的位置。
有关编号寄存器的更多信息,请参阅:help quote_number
。
vi'y
在lorem
vi'p
在ipsum上
gvy
复制回lorem以注册可能的宏vi'p
( qa
- gvy
- j
- vi'p
- q
- @a
- @@
- @@
...)
您想用来y
复制选择和p
粘贴。