You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用man/nroff对引号和连字符的自动转换行为

如何禁用man/nroff对引号和连字符的自动转换行为

我太懂你这种抓狂的感觉了——本来想在man页里搜个参数,结果普通的单引号、连字符被偷偷转换成了特殊UTF-8字符,导致搜索完全失效,键盘上又没有那些冷门特殊字符的按键,简直闹心!下面给你几个实用的解决办法:

临时禁用转换(单次生效)

直接在运行man命令时加上对应的环境变量,就能临时关闭智能引号和连字符的自动转换:

GROFF_NO_SMARTQUOTES=1 GROFF_DONT_HYPHENATE=1 man rg

这样打开的man页里,引号会保持原始的'(U+0027),连字符也会是普通的-(U+002D),搜索的时候直接输入键盘上的字符就能匹配到了。

永久禁用转换(全局生效)

如果不想每次都手动加环境变量,可以把这两个配置加到你的shell配置文件里(比如~/.bashrc、~/.zshrc或者~/.profile):

# 禁用man/nroff的智能引号转换
export GROFF_NO_SMARTQUOTES=1
# 禁用man/nroff的连字符自动转换
export GROFF_DONT_HYPHENATE=1

保存文件后,执行source ~/.bashrc(对应你的shell配置文件)让配置立即生效,之后再打开任何man页,都会保持原始的ASCII字符,不用再担心搜索失效的问题。

额外小技巧:直接查看原始man页内容

如果你只是想快速确认man页源文件里的原始字符,可以直接解压查看man页的源文件(大部分man页是gzip压缩的):

zcat /usr/share/man/man1/rg.1.gz | grep 'after-context'

这样就能看到未被转换的原始内容了。

备注:内容来源于stack exchange,提问作者Anemoia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:48:02