macOS 终端不能在命令中间插入字符

2020-09-03 15:02:12 +08:00
 GPU

如下面的动图, 我复制了一个命令到终端, 之后按「 方向键上⬆️ 」, 再在方向键移动到 curl 后面添加一个参数. 当我打字打到一半突然前面打的都不见了, 下面 gif 的不是我自己删的实际就是这样子, 突然就不见了.

再或者从命令末尾删除字符, 删着删着又去了上一行, 或者残留了这几个字符删到哪里都不知道.

有人遇到类似情况吗?

系统版本是: Hackintosh Catalina 10.15.4

1998 次点击
所在节点    macOS
16 条回复
cmaster
2020-09-03 15:07:18 +08:00
that's make one of us
cmaster
2020-09-03 15:07:56 +08:00
语法错误——that makes one of us
GPU
2020-09-03 15:12:21 +08:00
@cmaster #2 什么意思
lululau
2020-09-03 15:16:29 +08:00
猜测是这个花哨的 prompt 作怪,换个 prompt 简单点的 oh-my-zsh theme 试试
keyv
2020-09-03 15:18:58 +08:00
@lululau #4 看起来他这个就是 ohmyzsh 的默认 prompt
GPU
2020-09-03 15:47:16 +08:00
@lululau #4 默认的,没有改其他 theme , 录这个 gif 之前我还关闭除 git 之外的 plugins 了.
Nitroethane
2020-09-03 17:05:36 +08:00
这个 shell 之前可能有输出过一些乱码吧,跑一下 reset 命令应该能解决
GPU
2020-09-03 17:08:57 +08:00
@Nitroethane #7 是啊 输出过不少乱码, 都是二进制文件直接 echo 出来的.

reset 命令刚刚直接运行之后,貌似 shell 重启了一下,这样就算是可以了吗?
Nitroethane
2020-09-03 17:31:13 +08:00
@GPU 对。直接 echo 二进制文件几乎都会造成这种情况,只需 reset 一下就能解决。因为二进制文件中的一些特殊字符会搞乱终端的控制输出,所以会出现这种问题,我经常遇到
IgniteWhite
2020-09-03 17:41:34 +08:00
PS1 贴出来看看。八成是你 PS1 里面反斜杠方括号之类的没弄好
GPU
2020-09-03 17:43:17 +08:00
@IgniteWhite #10
```
➜ ~ echo $PS1
%(?:%{%}➜ :%{%}➜ ) %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)
```


@Nitroethane #9 reset 后试了一些命令好似是有点问题.但是又感觉没那么厉害.
IgniteWhite
2020-09-03 22:28:40 +08:00
@GPU 看来是 git_promt_info 这个变量的问题,很难说怎么解决了……
IgniteWhite
2020-09-03 22:28:55 +08:00
@IgniteWhite *prompt
kingfalse
2020-09-04 13:18:09 +08:00
试试我这个,一键安装一个漂亮的 iTerm2, https://github.com/KingFalse/ohmyiterm2
ericgui
2020-09-04 14:11:21 +08:00
@cmaster That makes two of us.
GPU
2020-09-04 14:34:36 +08:00
@kingfalse #14 我已经换成 iTerm2 了上面有 Append . 不过没有弄这么多插件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/703886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX