【问题标题】:Weird character zsh in emacs terminalemacs终端中的奇怪字符zsh
【发布时间】:2012-02-13 16:34:09
【问题描述】:

当出于某种原因在 MacOS 下的 emacs(M-x 术语)中使用终端时,它总是在 zsh 中的每一行之前发布字符 4m,并且总是打印包含用户信息的 2 行,例如

4m--(jesus@laptop:/dir)----
4m--(jesus@laptop:/dir)----
prompt>

这比什么都烦,但我只是想知道是否有办法解决这个问题。我似乎在 Mac OS emacs 终端模式下的 Zsh 中也有问题,当大量输出写入它时,它似乎将它全部减少到一行并不断覆盖同一行(可能与 4m 可能只是一个特殊的emacs 以不同方式处理可能影响格式的字符)。

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

【问题讨论】:

标签: macos emacs zsh


【解决方案1】:

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

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

如果问题没有解决之前的设置,你应该创建 eterm-color terminfo 通过使用以下命令。 (terminfo 路径可能与您的系统不同)

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

【讨论】:

  • 从 emacsformacosx.com 安装时发现 Cocoa Emacs 不会安装此文件。因此,如果您从那里使用 emacs,则需要运行上面的第二个命令。
  • 我必须从opensource.apple.com/source/emacs/emacs-70/emacs/etc/e/…获得一份 eterm-color.ti 的副本
  • 有人有这个更新吗? Emacs Cocoa 应用程序的结构发生了变化......并且 eterm-color.ti 不再位于 /Applications/Emacs.app/Contents/Resources/etc/e/eterm-color.ti :(
  • 在哪里可以找到 .terminfo 文件?如果您也使用 Mac,那么您是从哪里获得的?
  • 我仍然需要使用最新的 Homebrew Emacs 进行 terminfo 设置。我用过tic -o ~/.terminfo /usr/local/Cellar/emacs/24.3/share/emacs/24.3/etc/e/eterm-color.ti
【解决方案2】:

这在 OSX Mavericks 10.9.5 上为我安装了 eterm-color.ti

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

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

在我的例子中,这将一个文件 eterm-color 放在目录 /usr/share/terminfo/65/

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多