相关疑难解决方法(0)

有没有办法在vim中删除而不覆盖你的上一次猛拉?

我爱vim,但一个常见的问题是:

  • 拉了一条线
  • 转到要粘贴的位置
  • 删除那里有什么
  • 粘贴你的猛拉,发现它粘贴你刚删除的东西

显然工作流程首先是删除,然后是第二个.但是,如果我没有这将是reeeeeaaaaaalllly不错来.有人有这个诀窍吗?vim是否有一个运行良好的粘贴缓冲区,或者我可以更改.vimrc设置吗?

vi vim

262
推荐指数
7
解决办法
4万
查看次数

如何在Vim中删除(不删除)?

如何在不将其放入默认缓冲区的情况下删除一行?

例:

line that will be copied.

line that I want to be substitued with the previous one.
Run Code Online (Sandbox Code Playgroud)

我正在做的事情:

yy
dd
p
Run Code Online (Sandbox Code Playgroud)

但是Vim用删除的(cutted)替换了最近复制的字符串.我知道,我可以使用缓冲区像,"1yy,dd然后"1p,但我总是忘了把复制的字符串中的一个缓冲区,然后我需要先贴上我的内容(将要复制的行),然后删除了我想要的(行,我想用前一个替代.)

如何在不复制的情况下真正删除Vi(m)中的文本?

另一个相关问题是如何在插入模式下转发删除单词?我想要类似Ctrl+的东西w.

vim copy-paste

114
推荐指数
5
解决办法
3万
查看次数

如何粘贴而不覆盖寄存器

有没有人知道粘贴在一个可视选择区域的方法而没有将选择放在默认寄存器中?

我知道我总是可以通过明确的寄存器来解决问题.但是,打字是一种痛苦,"xp而不仅仅是打字p

vi vim

103
推荐指数
8
解决办法
2万
查看次数

VIM:有没有办法让vim在你删除文本时不复制

我喜欢vim,但我遇到的一个问题是每当我使用xd删除文本时,它都会将删除的文本复制到缓冲区/剪贴板中.

更具体地说,当我复制了一些文本时,这是一个问题,然后我需要在粘贴第一个文本之前删除第二个文本块.

是否有删除文本但不复制文本的命令?如果没有,是否有自定义命令?

谢谢!

vim

7
推荐指数
2
解决办法
288
查看次数

用准备放入vi/vim的内容替换单词?

例如,我有:

rm -f $(NAME).elf $(name).d
Run Code Online (Sandbox Code Playgroud)

第二个'名字'是拼写错误,也应该是'NAME'.

所以'N',我做了yw,然后转移到'n'.

我意识到,如果我现在点击cw改变它,我将处于插入模式 - 但我想啊,它只是一个额外的键(ESC)然后我可以只是p更正版本.

但在那种情况下,p确实做了什么u,它把"名字"放回去了.我想因为"旧文本"也会在更改时加载到寄存器中,我没有意识到.


是否有"替换为寄存器"命令可以应用于单词/字母/等?

vi vim

6
推荐指数
1
解决办法
235
查看次数

如何禁用vim粘贴到系统剪贴板/从系统剪贴板粘贴?

基本上,我需要建议如何与此处描述的相反:

如何从(并复制到)系统的剪贴板制作vim粘贴?

不想 VIM覆盖系统剪贴板,当我删除编辑器中的东西.对我来说,通常的工作流程是用鼠标选择一段代码(让我们称之为#1),然后转到另一段代码(让我们称之为#2),在视觉模式中选择#2 vim,使用"c"删除它,并使用鼠标中键粘贴#1.使用新的行为,而不是粘贴#1,我粘贴#2.

在vim 7.2中我可以做到这一点,但在vim 7.4中我不能.我想使用7.4由于正确的C++ 11语法高亮,但这种改变的默认行为正在扼杀我.

我认为,它与vim 的"+ xterm_clipboard"和/或"+ clipboard"功能有关(vim --version),我需要以某种方式将它们更改为"-xterm_clipboard"和/或"-clipboard".我尝试使用选项"--with-x = no"重新编译vim 7.4,但不知怎的,它没有帮助.

请帮助我默认禁用vim中的复制/粘贴到系统剪贴板.

谢谢!

vim clipboard editor c++11

6
推荐指数
1
解决办法
711
查看次数

如何在Vim中删除(所需文本),删除(不需要的文本)和粘贴(所需文本)

我不知道它是否是一个迟钝的问题,但这是一个有趣的困境.当我想删除我想要放在其他地方的文本,但那个地方有其他我不想要的文本时,我会删除该文本,但在这个过程中我复制一个新的剪贴板,以便之前删除的文本消失.

有什么建议可以解决吗?

vim paste

5
推荐指数
2
解决办法
405
查看次数

macvim:如何粘贴几次相同的猛拉字?

每次我复制一个单词并希望将其替换为多个单词时,我会:

  1. 猛拉这个词
  2. 进入视觉模式,选择要替换的单词并粘贴被拉动的单词.

在这个过程之后,被替换的单词将被拉出并且不能继续替换新单词,因为我丢失了第一个被拉出的单词.所以,我必须再次复制第一个猛拉的词.

任何人都可以指导我如何以有效的方式实现我的目标吗?如果我的语言不会改变,那就足够了.

vim macvim

4
推荐指数
1
解决办法
1611
查看次数

Vim - 在可视模式下复制/粘贴时保留上次复制的文本

我想更改在可视模式下粘贴文本的默认(和愚蠢)行为.这是当前的步骤和行为:

  1. 复制任意文本(让我们称之为"文本A")
  2. 在可视模式中选择任何其他文本(让我们称之为"文本B")
  3. 选择后,按"p"将"文本B"替换为"文本A"
  4. 在其他地方再次按"p".结果是"文本B"被粘贴.

我希望第4步产生"文字A".

换句话说,我希望以可视模式粘贴以保留我复制的文本,这样我就可以继续粘贴它,而不是用被替换的任何内容覆盖它.

vim

3
推荐指数
1
解决办法
186
查看次数

当我删除它时,Vim会复制文本,但是如何禁用它呢?

我不喜欢在Vim中删除时自动复制删除的文本,如何禁用它?

vim

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

如何在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 ×11

vi ×3

c++11 ×1

clipboard ×1

copy-paste ×1

editor ×1

macvim ×1

paste ×1