在终端中通过 Emacs 查看手册页

Posted

技术标签:

【中文标题】在终端中通过 Emacs 查看手册页【英文标题】:View man pages via Emacs in a terminal 【发布时间】:2021-01-17 03:30:49 【问题描述】:

我可以使用以下命令在终端中通过 emacs 查看手册页:

emacs -nw --eval '(progn (man "find") (delete-window))'

现在我尝试在我的 .bashrc 中定义一个类似于以下内容的函数:

function eman()  
emacs -nw --eval '(progn (man "$1") (delete-window))';
 

这样我就可以通过例如eman grep 轻松查看任何给定的手册页。但是,由于单引号会阻止插值,因此我无法将命令行参数传递给该函数。如何解决这个问题?

一种最直接的方法是将手册页重定向到一个 tempoaray 文件并使用 emacs 读取它:

function eman () 
    man $1 > /tmp/$1_tmp_youjun;
    emacs -nw /tmp/$1_tmp_youjun;

但这需要一个中间文件,这似乎是不必要的。

【问题讨论】:

【参考方案1】:

只需使用双引号启用参数替换,并转义内部双引号,如下所示:

function eman()  
  emacs -nw --eval "(progn (man \"$1\") (delete-window))"

【讨论】:

或者,策略性地添加单引号以将 $1 暴露给 shell:emacs -nw --eval '(progn (man "'$1'") (delete-window))';

以上是关于在终端中通过 Emacs 查看手册页的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 中通过 Modal Box 查看和更新​​数据

如何从另一个 WinForm 中通过 C# WinForm 查看

如何在Linux中通过命令查看域名对应的IP

如何在我的浓缩咖啡测试中通过 id 查看?

gcc库函数的手册页

gcc 库函数的手册页