如何在 Linux 上获得合适的 emacs 设置

Her*_*ezy 5 linux emacs text-editors

我目前有兴趣从 vim 切换到 emacs。

更令人信服的原因之一是与 unix 环境的顺利集成。我见过的最有经验的 emacs 用户在他们的窗口底部有一个 bash 提示,stdout 会进入它正上方的缓冲区。然后,它们以有趣的方式与 grep 等程序的输出进行交互。

我在 Ubuntu 10.04 上,默认的 emacs 环境在集成方面似乎对我没有太大帮助。例如,在M-x shell模式下,基本命令的输出(例如ls产生大量奇怪的字符和点击向上箭头)不会转到以前的命令。

有什么好的方向推荐吗?

Raf*_*ler 5

您可能想要尝试eshell( M-x eshell),或者您可能想要阅读 shell 命令( M-x shell)的命令和快捷方式eshell是一个用 emacs lisp 编写的 shell,它与 Emacs 几乎完美地集成在一起。我唯一的抱怨是它不如普通 shell 快。

至于其他所有设置,我推荐emacs starter kit,它包含许多有用的脚本和 elisp 模块来扩展和配置 emacs。

Emacs 是一种后天的品味。您所看到的人可能拥有数十年的 emacs 经验——他们一开始和您一样一无所知。我建议您尝试阅读有关该主题的几本书 -学习 GNU Emacs是我从中学到的,然后GNU Emacs 手册是一个很好的指南和参考


Tre*_*son 4

关于如何进行适当的设置,您可以采用两种不同的方法:

  1. 盲目使用其他人/网页的自定义(例如 Emacs 入门套件)
  2. 真正思考你想要什么、提出问题、学习并定制你.emacs自己

根据我的经验,许多人选择第一种路线,这很好。您只需很少的工作即可获得一些方便的自定义设置。但是,您实际上并不比进行大剪切/粘贴之前了解更多。

如果您花时间提出问题(就像您对shell和所做的ls那样),您最终将获得真正满足您需求的定制 Emcas 体验。另外,您将更好地了解什么是可能的以及如何实现这一目标。缺点是需要做一点工作(不多,但它不是零,这让很多人感到害怕)。

因此,为了让您开始走上启蒙之路(如果您决定服用红色药丸),我将为您的特定问题提供解决方案。 注意:由于有关您的设置的信息很少,我将对您的具体问题做出一些有根据的猜测。

显示ls各种时髦的字符,因为您ls在常规终端中使用命令输出颜色的特殊字符(也许您将其别名为ls --color)。 M-x term确实正确处理了这个问题,但这也有效:

(ansi-color-for-comint-mode-on)
Run Code Online (Sandbox Code Playgroud)

M-p您可以使用和M-n转到上一个/下一个命令,而不是使用箭头键。或者,您可以绑定箭头键来执行您想要的操作:

(add-hook 'shell-mode-hook
      (lambda ()
    (define-key shell-mode-map (kbd "<up>") 'comint-previous-input)
    (define-key shell-mode-map (kbd "<down>") 'comint-next-input)))
Run Code Online (Sandbox Code Playgroud)