在UNIX中有很多地方程序在$ PAGER(通常less或类似的命令)中调用程序来显示一些输出.当然,许多最常见的用途都有Emacs替换(man例如),但我仍然喜欢使用Emacs作为我的系统范围寻呼机的一般方法.理想情况下,这意味着对PAGER的调用最终会出现在类似于*Help*的Emacs临时缓冲区中,这是一个只读缓冲区,您可以通过按"q"来导航和解除.
我通常通过Mx shell运行一个shell,所以我想象的用例是在*shell*窗口中键入一个像"man foo"这样的命令将在另一个窗口中显示man页面,或多或少与内置的一样*帮助*系统工作.
对于一般用途$PAGER,您可能对e-sink感兴趣.
对于手册页的特定情况,最好在注意时使用Emacs的内置man模式.我有这个.bashrc:
man ()
{
if [ "$TERM" == "eterm-color" ]; then
emacsclient -e "(man \"$1\")";
else
command man "$@";
fi
}
Run Code Online (Sandbox Code Playgroud)
因为你使用shell-mode而不是ansi-term-mode像我一样,你要么必须一直使用emacsclient,要么(setenv "WITHIN_EMACS" "1")在你的.emacs文件中做一些事情,这样你就可以开启了$WITHIN_EMACS.