2012-01-18 50 views
31

当使用emacs的终端(MX术语)的MacOS下由于某种原因在zsh中的每行前它总是张贴字符4m和始终打印两行包含用户信息,如怪异字符的zsh

4m--([email protected]:/dir)---- 
4m--([email protected]:/dir)---- 
prompt> 

这比什么都更烦恼,但我只是想知道是否有办法解决这个问题。我似乎也在Mac OS emacs终端模式下的Zsh中遇到了问题,当大量输出被写入时它似乎将它全部缩减到一行并且不断覆盖同一行(可能与4m可能仅仅是一个特殊情况有关字符emacs是不同的对待,可能会影响格式)。

如果需要我可以发布我的.zshrc和.emacs文件。

回答

56

您没有eterm-color terminfo。 首先,您尝试在配置文件中添加以下S-exp并进行评估。

;; Use Emacs terminfo, not system terminfo 
(setq system-uses-terminfo nil) 

如果问题没有解决以前的设置,您应使用以下命令创建ETERM色的terminfo 。 (terminfo的路径可能与您的系统不同)

# If you use Cocoa Emacs or Carbon Emacs 
tic -o ~/.terminfo /Applications/Emacs.app/Contents/Resources/etc/e/eterm-color.ti 
+0

有同样的问题。您的解决方案可以帮助我 - 谢谢! – user673592 2012-01-19 07:53:18

+3

从emacsformacosx.com安装的Cocoa Emacs不会安装此文件。所以如果你从那里使用emacs,你需要运行上面的第二个命令。 – 2012-08-08 03:24:28

+1

我必须从http://opensource.apple.com/source/emacs/emacs-70/emacs/etc/e/eterm-color.ti?txt获取eterm-color.ti副本 – emperorcezar 2012-10-19 23:50:05

1

这在OSX小牛10.9.5安装eterm-color.ti对我来说:

  1. 上传eterm-color.ti/tmp远程OSX服务器上。

  2. 在服务器上运行命令sudo tic -o /usr/share/terminfo /tmp/eterm-color.ti

在我而言,这把一个文件eterm-color目录/usr/share/terminfo/65/

8

我需要设置以下环境变量在我的〜/ .zshrc

export LANG=en_US.UTF-8 
export LC_ALL=en_US.UTF-8 
export TERM=xterm-256color 
+0

也适合我这里:) – Ali 2014-12-01 17:28:26