Emacs下的ls指令乱码问题

在Emacs下使用shell的时候,打ls会出现奇怪的代码,但是dir命令却没有。

Google后发现是因为Emacs默认的终端类型是VT100,改成ANSI就可以了。打开~/.emacs文件,如果不存在则自己创建一个。里面添加一行:

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

这样终端类型就变成了Ansi类型了。

至于什么是终端类型,我们为什么总是要选择它们,在我们SSH的时候就偶尔看到它们。我在网上大致查了一下,似乎这方面的资料不是很多(也许是我找的不仔细),比较靠谱的一个说从前是主机时代,多个终端连接一个主机,所以需要选择对应的终端类型,如今终端几乎都兼容了,但是选择自己喜欢的终端的方式遗留下来,当然也许出自向前兼容的考虑。大部分都兼容VT100,所以默认一般都用VT100,如果终端允许,你可以使用ANSI这样的彩色终端。

如果存在错漏,还请指教。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注