我在 Mac Sierra 上使用 iterm2 v 3.0.15。我在从其他地方(例如网页上的文本)剪切并粘贴到我的终端时遇到问题。例如,我突出显示网页中的一些文本,按 Command + C,转到终端,然后按 Command + V,我得到
localhost:myproject nataliab$ 00~on the next01~
注意我的文字前面和后面的“00~”和“01~”。当我剪切并粘贴到文本编辑器或其他地方时,我没有看到这些字符。当我剪切并粘贴到 iterm2 终端时,如何消除这些特殊字符的出现?
在终端窗口中输入
reset
,然后按 Enter。现在,尝试在终端中粘贴内容,它应该可以正常工作。
要永久禁用包围粘贴模式,请打开首选项,搜索“包围”,取消选中“终端可能启用粘贴包围”
将
printf '\e[?2004l'
粘贴到 iTerm2 终端,然后按 enter
。
我认为这是一个括号内的粘贴问题
编辑 -> 选择性粘贴 -> 高级粘贴
取消选中“括号粘贴模式”
重新启动终端
我遇到了同样的问题,并且无法弄清楚为什么会发生问题,但是用
Command + Q
关闭 iTerm2 并重新打开它解决了问题。
$ printf '\e[?2004l'
它解决了我的问题。但有趣的是,当我粘贴上面的命令时,它也粘贴如下
00~printf '\e[?2004l'01~
我最近也开始在 iterm2 中遇到这种行为。终止并重新启动会话可以修复该问题,但会丢失上下文。我发现了这个关于 括号粘贴模式 的评论,并尝试
printf '\e[?2004h'
退出括号粘贴模式并修复终端,它对我来说效果很好。
我无法保证此修复的条件,因为我已经摆弄了上面的解决方案一段时间,但对我来说解决问题的是:
iTerm2 → Preferences → Keys → 双击编辑
⌘v
的目标 → 在 Speed 下,将 Chuck Size 设置为 256B,将 Interchunkk Delay 设置为 100ms。
我必须做
shell-->Hard Reset
才能使其立即发挥作用
就我而言,问题是我粘贴了带有长破折号的字符串(有时称为长破折号、m-rule 或 mutton,这个:“—”),它把一切都搞乱了。尝试将“ciao — amore”粘贴到您的 iTerm 中。
printf '\e[?2004h'
应该可以解决问题;还要确保删除结尾和开头的垃圾字符。