粘贴到我的iterm2终端时获取奇怪的字符

25 copy-paste paste iterm2

我在Mac Sierra上使用iterm2 v 3.0.15.我无法从其他地方剪切和粘贴(例如网页上的文字)到我的终端.例如,我从网页突出显示一些文本,按Command + C,转到终端,然后按Command + V,我得到

localhost:myproject nataliab$ 00~on the next01~
Run Code Online (Sandbox Code Playgroud)

注意我文本前后的"00~"和"01~".当我剪切并粘贴到文本编辑器或其他地方时,我看不到这些字符.当我剪切并粘贴到我的iterm2终端时,如何消除这些特殊字符的出现?

Fáb*_*bio 26

解决我的情况:

粘贴printf '\e[?2004l'到iTerm2终端,然后按enter.

  • 此命令禁用“括号粘贴模式”。请参阅[说明](https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/31#issuecomment-55966569)。请参阅[其他答案](/sf/answers/3531828331/)。 (8认同)
  • 您能解释一下这究竟是什么,以及为什么它可以解决问题吗?帮助人们了解问题对于学习至关重要,仅在短期内为我们提供答案会有所帮助,但不会增加对问询者的理解。 (5认同)
  • 虽然是的,这解决了问题,但特别有趣的是,它无法粘贴到 Mac 的终端中;你必须重新输入它。令我震惊的是,标准键盘输入在 2019 年的 Mac 上无法使用。 (4认同)

Jia*_*hen 22

要永久禁用包围粘贴模式,请打开首选项,搜索“包围”,取消选中“终端可以启用粘贴包围”

  • 这个功能很垃圾,谁会想要默认启用这个功能呢? (15认同)
  • 这位于首选项 > 配置文件 > 终端 > [x]“终端可能启用粘贴包围”下 (5认同)
  • 出色的。由于我无法预见任何需要使用括号粘贴的情况,因此我喜欢这种永久解决方案。谢谢。 (3认同)
  • 这应该是公认的答案。任何人都不应该使用该“功能”。 (3认同)

Arj*_*lal 15

在终端窗口中,输入reset,然后按Enter。现在,尝试将内容粘贴到终端中,它将正常工作。

  • 这个解决方案确实有帮助,但知道是什么导致了这个问题吗? (18认同)
  • 这是一个简单但有力的答案。顺便说一下,`⌘+R`是iTerm2中`reset`命令的快捷方式,所以只需按`⌘+R`即可。 (12认同)

小智 10

我认为这是一个括号内的粘贴问题

  1. 编辑 -> 特殊粘贴 -> 高级粘贴

  2. 取消选中“带括号的粘贴模式”

  3. 重启终端


小智 8

我有同样的问题,并且无法弄清楚问题发生的原因,但关闭iTerm2 Command + Q并重新打开它解决了问题.

  • 那是个大锤子。您可以使用 `printf '\e[?2004h'` 修复它。 (3认同)
  • @dbenhur,你的评论也是一个大锤子。将建议的命令放在哪里? (2认同)
  • @Fábio,...呃?“大锤子”通俗地讲是指您使用太大的力来修理某些东西(并且可能同时破坏其他东西)。我不明白这如何适用于德本胡的评论,它更加集中和细致。 (2认同)

小智 8

$ printf '\e[?2004l'

它解决了我的问题。但有趣的是,当我粘贴上面的命令时,它也粘贴如下

00~printf '\e[?2004l'01~


dbe*_*hur 7

我最近也开始在 iterm2 中遇到这种行为。杀死并重新启动会话可以修复它,但会丢失上下文。我发现这个关于括号粘贴模式的评论并试图printf '\e[?2004h'退出括号粘贴模式并修复终端,它对我来说效果很好。