如何在Vim中取消粘贴操作?

14

当我在Putty(打开Vim)中意外右键单击时,我的剪贴板上有相当多的文本,并且Vim已启动了一个持续了约十分钟的粘贴操作。

我不想失去未保存的工作,有没有办法指示Vim停止粘贴文本?


你确定是vim卡住了而不是PuTTY? - Michael Kristofik
说实话我不确定,无论如何我会重新配置Putty的右键功能,感谢你的帮助 :) - JMK
1
现在还不是解决方案,但将来我建议您使用类似于 tmux 的工具。这样,您可以快速关闭 Putty 窗口,以防止它继续从剪贴板向服务器发送更多文本。然后,您稍后可以重新连接到该会话并撤消粘贴操作。 - Michael Härtl
3个回答

9

如果你处于正常模式,按下Ctrl-C可以中止当前正在执行的命令。然后按下u来撤消在中止之前所做的任何更改。


4
如果您不处于正常模式,例如您按下'i'进入插入模式,然后又按下cmd-v并粘贴,会怎样呢? - barlop
是的,对于正常模式不起作用,而这正是我遇到问题的时候。 - run_the_race

1

我知道这已经很老了,但是最佳答案是不正确的,而且我显然遇到了类似于 OP 的问题。(意外地将数百行 JSON 粘贴到 vim 中)

请记住,这可能无法让您保存工作(但您可以从 .swp 文件中恢复一些内容)

您需要做的就是打开一个新的终端窗口,并在命令行中输入 pkill vim


0

根据你的配置,有可能会在.nameOfTheOpenedFile.swp中有一个交换文件(备份)(将nameOfTheOpenedFile替换为你的文件名)。

恢复文件的方法:

vim -r .nameOfTheOpenedFile.swp

我不认为这会阻止粘贴,是吗?注意-我处于插入模式,不确定这是否会有所不同。 - barlop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接