粘贴到我的 iterm2 终端时出现奇怪的字符

问题描述 投票:0回答:12

我在 Mac Sierra 上使用 iterm2 v 3.0.15。我在从其他地方(例如网页上的文本)剪切并粘贴到我的终端时遇到问题。例如,我突出显示网页中的一些文本,按 Command + C,转到终端,然后按 Command + V,我得到

localhost:myproject nataliab$ 00~on the next01~

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

copy-paste paste iterm2
12个回答
235
投票

在终端窗口中输入

reset
,然后按 Enter。现在,尝试在终端中粘贴内容,它应该可以正常工作。


69
投票

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


60
投票

我的案例的解决方案:

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


14
投票

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

  1. 编辑 -> 选择性粘贴 -> 高级粘贴

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

  3. 重新启动终端


13
投票

我遇到了同样的问题,并且无法弄清楚为什么会发生问题,但是用

Command + Q
关闭 iTerm2 并重新打开它解决了问题。


8
投票
$ printf '\e[?2004l'

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

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

7
投票

我最近也开始在 iterm2 中遇到这种行为。终止并重新启动会话可以修复该问题,但会丢失上下文。我发现了这个关于 括号粘贴模式 的评论,并尝试

printf '\e[?2004h'
退出括号粘贴模式并修复终端,它对我来说效果很好。


3
投票

set t_BE=
添加到 .vimrc 以禁用括号粘贴模式应该可以解决此问题。 您可以参考:https://gitlab.com/gnachman/iterm2/issues/5698


2
投票

我无法保证此修复的条件,因为我已经摆弄了上面的解决方案一段时间,但对我来说解决问题的是:

iTerm2 → Preferences → Keys → 双击编辑

⌘v
的目标 → 在 Speed 下,将 Chuck Size 设置为 256B,将 Interchunkk Delay 设置为 100ms。


1
投票

我必须做

shell-->Hard Reset
才能使其立即发挥作用


0
投票

就我而言,问题是我粘贴了带有长破折号的字符串(有时称为长破折号、m-rule 或 mutton,这个:“—”),它把一切都搞乱了。尝试将“ciao — amore”粘贴到您的 iTerm 中。


-1
投票

printf '\e[?2004h'
应该可以解决问题;还要确保删除结尾和开头的垃圾字符。

© www.soinside.com 2019 - 2024. All rights reserved.