相关疑难解决方法(0)

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

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

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

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

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

vim replace vim-registers

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

如何在不覆盖vim寄存器的情况下添加行

我想在寄存器中划一条线:"{register}y但是不要覆盖寄存器中先前的内容.我经常需要在寄存器中复制非连续的行,我有时会像堆栈一样使用寄存器.

例:

line1
line2
line3
Run Code Online (Sandbox Code Playgroud)

我想复制line1,通过把光标放在它并输入"ay,然后事情line3"ay.然后,当我会做"ap,既line1line3将被粘贴.

这可能没有插件吗?有插件吗?

vim keyboard-shortcuts

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

Vim:用默认缓冲区替换选择而不覆盖缓冲区

这是我的问题:

我处于视觉模式.

我选择文本并将其复制到缓冲区.((y)的ANK)

我选择了另一个要替换的文本并粘贴缓冲区.((糊)

现在第二个选择已经在缓冲区中被替换,但是我希望第一个选择仍然在那里.

有任何想法吗?

vim buffer replace yank

34
推荐指数
1
解决办法
5155
查看次数

粘贴选定文本时,vim如何保留寄存器的内容?

我有一行文字,我已经猛拉了yy.现在我想用这个文本替换其他几个地方的行.麻烦的是,当我选择V要替换的行并粘贴时p,所选的文本会被自动拉出!这就是我不想要的.

更改寄存器不起作用,因为粘贴和抽取都是使用新选择的寄存器完成的.

粘贴选定文本时保留寄存器内容的命令是什么?

vim copy-paste

28
推荐指数
2
解决办法
5086
查看次数

vim复制并替换文本

让我们说我有这样的文字:

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

我想复制lorem并粘贴到ipsum中.我试着做yi'lorem,然后继续使用ipsum,ci'但是用ipsum替换了我的pastebin.我以前的副本丢失了.

vim copy-paste

9
推荐指数
3
解决办法
5179
查看次数

如何使用vi替换当前行与缓冲区中的内容

说我有行存储在缓冲区k中.如何用缓冲区的内容替换某些行?

vim buffer

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

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

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

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

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

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

vim macvim

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

Vim - 使用可选的寄存器前缀进行映射

所以我发现在Vim中我的一个常见任务是将PUT连接到行的开头或行的结尾.所以我的映射可能是:

nmap <Leader>p $p
nmap <Leader>P 0P
Run Code Online (Sandbox Code Playgroud)

但是,我真正想做的是在推杆之前选择包含一个注册表.

因此,例如"a,P将从寄存器a放到行的开头.

有没有办法用映射做到这一点?

vim

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

在vim中,如何在之前选择某些内容时粘贴而不复制所选内容

我通常想替换vim中的一些内容。复制后,我选择要替换的内容,然后粘贴我复制的内容。但是接下来要替换的内容会被复制到剪贴板,我无法替换下一个地方。我希望剪贴板中的内容在我粘贴到某个选定的地方时不会改变。

vim copy paste

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