bash - 在终端中通过 Emacs 查看手册页
问题描述
我可以使用以下命令在终端中通过 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;
}
但这需要一个中间文件,这似乎是不必要的。
解决方案
只需使用双引号来启用参数替换,并转义内部双引号,如下所示:
function eman() {
emacs -nw --eval "(progn (man \"$1\") (delete-window))"
}
推荐阅读
- javascript - 用设定值替换数组中的重复值
- next.js - NextJS:如何通过 CDN 添加引导程序
- wordpress - 为什么我的 GraphQL 链接在 WordPress 中显示查询错误
- graphql - 如何使用 GraphQL 查询 KeystoneJS 选择字段的选项
- reactjs - 做出反应。显示一个值发送另一个到服务器
- mongodb - 如何在 Windows 上启动/停止/重新启动 mongod
- flutter - 如何使用导航来设置状态()另一个屏幕?
- kubernetes - 是否可以使用不包括某些资源的 Kubernetes 命名空间配额
- excel - 在条件格式中设置货币
- python-3.x - Python文件写入csv,行写入问题