Answers:
无论Shift+ Insert和“ 粘贴 ”到以类似的方式在终端的行为-它们模仿按键。
这是终端通常无法做到的重要区别-您是键入还是粘贴?注意:某些终端支持“ 括号粘贴 ”模式,在@Josh的评论之后,我什至在xterm中遇到了vim插件括号粘贴,您可能对此感兴趣。
您粘贴的数据将丢失,直至进入插入模式的第一个字符。您可能还会发现光标已移动并且文件的其他部分已更改(例如:大小写更改/已删除/等)...
总之,如果要将要插入的文本粘贴到文件中,请首先进入插入模式。
尝试复制以下文本并将其粘贴到运行Vim的终端中(不在插入模式下):
hello how are you
结果与在键盘上键入相同的字母相同:
在这种情况下,您将处于插入模式...
现在尝试退出插入模式Esc--并粘贴以下内容
/are
n
这将搜索“ are”:
现在粘贴:
:0
dG
哦,不...一切都消失了!
您还会发现,如果启用了缩进功能,则将一段代码粘贴到vim中(在插入模式下)会导致太多缩进-它会自动缩进,然后您粘贴的代码将包含缩进。
def my_print(message):
print(message)
print('done...')
要解决此问题,请使用:set paste
和:set nopaste
命令
set nopaste
吗?我希望unset paste
。
"+
寄存器与系统剪贴板进行交互,因为它往往表现得更加理智。缺点是某些系统或Vim的构建可能会"*
代替使用,或者根本没有系统剪贴板支持,但是以我的经验,"+
这已经相当可靠了。