我的 emacs 在 shell 缓冲区中列出了奇怪的转义字符:
me@ubuntu:~//configuration.template/hooks$
me@ubuntu:~//configuration.template/hooks$ ls
[0m[01;32mpost-commit[0m [01;32mpost-commit~[0m [01;32mpost-update[0m
[01;32mpost-update~[0m [01;32mpre-commit[0m [01;32mpre-commit~[0m [01;32mupdate[0m update~
Run Code Online (Sandbox Code Playgroud)
有谁知道我该如何解决?
“ansi-color-for-comint-mode”处理外壳中的一些颜色。它并不完美,但它有帮助。要打开它,请转到您的外壳并执行[M-x]ansi-color-for-comint-mode-on[RET].
-约翰
这些字符是变色控制序列。这些序列在 emacs 缓冲区中不起作用*shell*:相反,它们几乎直接显示。
您应该更改 shell 启动文件(可能~/.bashrc),以便ls仅在支持颜色的终端中使用颜色。实际上,这可能意味着除dumb(缓冲区中提供的终端类型*shell*)之外的每种终端类型。终端类型在TERM环境变量中指示,因此您可以执行以下操作:
if [ "$TERM" != "dumb" ]; then
alias ls='ls --color=auto'
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |