相关疑难解决方法(0)

在Vim中有没有一种方法可以在不将文本放入寄存器的情况下删除?

使用Vim我经常想用我刚刚拉出的块替换代码块.

但是当我删除要替换的代码块时,该块本身会进入寄存器,该寄存器会擦除我刚刚移动的块.所以我习惯于yanking,然后插入,然后删除我不想要的东西,但是对于大块代码,这会变得混乱,试图保持插入的块和块分开删除.

那么在Vim中替换文本的最简单,最快捷的方法是什么?

  • 有没有办法删除文本而不将其放入注册表?
  • 有没有办法说例如"替换下一个单词"或"替换为下一个段落"
  • 或者是以某种方式使用多寄存器功能的最佳方式?

vim replace vim-registers

461
推荐指数
14
解决办法
7万
查看次数

如何在VIM中用缓冲区中的文本替换整行?

这是我正在处理的文本:

第1行:网站=“a.com”;
...
第3行:网站=“b.com”;
...
第5行:网站=“c.com”;

假设我想将所有网站更改为“stackoverflow.com”,我可以这样做:
- 将“a.com”更改为“stackoverflow.com”
- 拉出整行(Y)
- 转到第 3 行,点击 p、k、dd从缓冲区粘贴并删除旧的“b.com”行。

现在的问题是,由于 dd 将“b.com”放入缓冲区,要替换第 5 行,我将不得不再次拉动整行。
有什么简单的方法可以让我快速用已经拉扯的线替换 line3 和 line5 吗?

更新:
感谢您的答案,现在有几种方法可以做到这一点:删除到黑洞、从命名缓冲区中提取等。我发现这是我最喜欢的方法(我使用键 R 而不是 r,因为有时我需要替换单个字符):

在 Vim 中,有没有一种方法可以在不将文本放入寄存器的情况下进行删除?

我在下面放置了一些类似问题的链接:

如何在 Vim 中删除(所需文本)、删除(不需要的文本)和粘贴(所需文本) 在 Vim 中,
有没有一种方法可以删除而不将文本放入寄存器?

vim

2
推荐指数
1
解决办法
3671
查看次数

标签 统计

vim ×2

replace ×1

vim-registers ×1