4

我想在调用 man 命令时使用 emacs 查看手册页。/etc/man.conf我将PAGER 中的 pager 参数修改为emacs.

但是,它不起作用。有什么我应该修改的吗?

4

3 回答 3

5

实际上,emacs 无法将 STDIN 读入缓冲区,这意味着

cat foobar | emacs

在任何情况下都不起作用。因此,将 PAGER 变量设置为“emacs”或“emacs -nw”并不能完成这项工作。我看到的唯一方法是将man输出写入 tmp 文件,然后将该文件加载到 emacs 中:

man find > tmp-file; emacs tmp-file

你可以给这个取别名。例如,假设有一个 tc-shell,并且在您的主路径中有一个名为 'tmp' 的目录,您可以将以下行放入您的~/.tcshrc文件中:

alias man '/usr/bin/man \!* > ~/tmp/tmp-file; emacs ~/tmp/tmp-file; rm ~/tmp/tmp-file'

所以下次你打电话时man find,emacs 会启​​动。

于 2012-05-18T00:33:52.597 回答
3

您可以从 emacs 的功能中获益man。只需在 bash 中定义一个函数,该函数将运行将调用它的 emacs:

function man () {
    emacs -e '(man "'"$1"'")'
}

你可能想打电话emacs -nw,甚至emacsclient代替。

于 2012-05-18T00:38:41.750 回答
2

Emacs 有一个“Man 模式”,可以调用它M-x man RET然后输入你的命令。

于 2013-07-24T07:45:47.830 回答