Mac 在终端下复制粘贴出现:00~ xxx 01~ 问题的解决方案

Mac 在终端下复制粘贴字符串的时候,偶然出现了粘贴的字符串收尾会多了一对字符:00~ xxx 01~

经过一番研究发现,原来这是终端本身的功能:括号粘贴模式

那这个括号粘贴模式有什么用呢?其实他的用处很简单,当设置了括号粘贴模式时,粘贴的文本用控制序列括起来,以便程序可以区分粘贴的文本和输入的文本。

那为什么终端会打开括号粘贴模式呢?其实大部分情况都不是我们主动开启的,是由个别软件在无意中将括号粘贴模式开启的。

解决方案

知道了原因那解决方案就手到擒来了,只需在终端关闭括号粘贴模式即可:

printf "\e[?2004l"

那如果想主动开启括号粘贴模式该如何操作呢?也只需在终端开启括号粘贴模式即可:

printf "\e[?2004h"

当开启了括号粘贴模式粘贴的字符串收尾会多了一对字符:00~ xxx 01~,不过一般情况下我们把它关闭就可以了。

有关括号粘贴模式详情可参考这两篇文章:
https://cirw.in/blog/bracketed-paste
http://www.xfree86.org/current/ctlseqs.html

猜你喜欢

转载自blog.csdn.net/yilovexing/article/details/128803541