代码之家  ›  专栏  ›  技术社区  ›  mwilliams

让Emacs尊重我的默认shell+选项

  •  14
  • mwilliams  · 技术社区  · 15 年前

    我正在尝试让我的Emacs外壳模仿我的标准终端会话。基本上,我希望它遵循相同的路径和命令提示。

    到目前为止,我有几个问题:

    • 找不到路径,下面是我正在使用的修复方法。
    • 我用我尝试过的另一个修复方法,得到了各地的ASCII颜色代码。

    我的mwilliams.el文件中有以下内容。前几行让我可以访问m-x shell中的/usr/local/bin,这解决了一半的问题,最后几行让我使用zsh运行,但我的提示非常错误。

    (setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
    (setq exec-path (append exec-path '("/usr/local/bin")))
    
    
    (defun shell ()
      (interactive)
      (ansi-term "/bin/zsh"))
    

    通过上面的内容,我在m-x shell中得到了以下所有内容。

    4m\342/236/234 
    

    使用的模式是:(术语:char run yas)

    据我所知,它不尊重我的zsh主题中的一些ascii颜色代码。不过,我看到一些颜色穿过,所以它就在那里的一半。我最好的猜测是,我需要它尊重我的.zshrc,它包含关于我的主题和路径的信息。

    在我开始将日常工作(以及其他一切)转移到Emacs之前,我只需要把我的脚弄湿Emacs,得到一个坚实的外壳,这是我最后需要做的事情之一。

    我正在用OSX雪豹运行Emacs23.1(9.0)。

    2 回复  |  直到 9 年前
        1
  •  17
  •   bowsersenior    12 年前

    我不使用zsh,但我在 zsh FAQ 尝试一下。我有一个彩色的L,没有任何古怪的角色。

    3.10: Why does zsh not work in an Emacs shell mode any more?
    
    Read more: http://www.faqs.org/faqs/unix-faq/shell/zsh/#ixzz0TyTJsHMq
    

    另一种方法是

    #!/bin/sh 
    TERM=emacs exec zsh
    

    归档 ~/bin/eshell 然后 chmod +x ~/bin/eshell ,并通过添加

    (setenv "ESHELL" (expand-file-name "~/bin/eshell"))
    

    ~/.emacs .

        2
  •  1
  •   Pascal    9 年前

    对于路径,有一个包 exec-path-from-shell (仅限OS X)。

    它得到 $MANPATH , $PATH exec-path 从shell设置Emacs。