【发布时间】:2012-05-25 12:40:39
【问题描述】:
我想在调用 man 命令时使用 emacs 查看手册页。
我将/etc/man.confPAGER中的pager参数修改为emacs。
但是,它不起作用。有什么需要修改的吗?
【问题讨论】:
我想在调用 man 命令时使用 emacs 查看手册页。
我将/etc/man.confPAGER中的pager参数修改为emacs。
但是,它不起作用。有什么需要修改的吗?
【问题讨论】:
确实,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 就会启动。
【讨论】:
您可以从 emacs 的函数man 中获益。只需在 bash 中定义一个函数,该函数将运行将调用它的 emacs:
function man () {
emacs -e '(man "'"$1"'")'
}
您可能想致电 emacs -nw 甚至是 emacsclient。
【讨论】:
emacs -eval "(woman \"$1\")",它使用 emacs 的基于 elisp 的 man 而不是外部 man 程序。
emacs -nw --eval '(progn (man "'$1'") (delete-window))';
Emacs 有一个“Man 模式”,可以通过 M-x man RET 调用,然后输入您的命令。
【讨论】: