跳转到主内容
全部文档

命令补全与自动更新

两件让命令行更顺手的小事:按 Tab 补全命令和参数,以及让 42md 自己保持最新。两者都是本地功能,免费,不调用 AI。

命令补全

在 42md 后面按 Tab,会列出可用的命令;在 42md tools 后面按 Tab,列出全部工具;敲 -- 再按 Tab,列出这个工具的参数;文件名敲个开头按 Tab 补齐。

新装就有

在 macOS 和 Linux 上用安装命令装 42md 时,会按你当前用的 shell(bash、zsh、fish)自动配好补全,重开一个终端就能用:

bash
curl -fsSL https://42md.cc/mac | bash

Linux 也可以用 curl -fsSL https://42md.cc/install | bash。Windows 按下面「手动配置」的方式生成 powershell 补全脚本。

手动配置

已经装过、或者换了 shell,手动生成一次补全文件。

zsh:

bash
mkdir -p "${HOME}/.local/share/zsh/site-functions"42md completion zsh > "${HOME}/.local/share/zsh/site-functions/_42md"

没生效的话,确认 ~/.zshrc 里有这三行,然后重开终端:

bash
fpath=("${HOME}/.local/share/zsh/site-functions" $fpath)autoload -Uz compinitcompinit

bash:

bash
mkdir -p "${HOME}/.local/share/bash-completion/completions"42md completion bash > "${HOME}/.local/share/bash-completion/completions/42md"

fish:

bash
mkdir -p "${HOME}/.config/fish/completions"42md completion fish > "${HOME}/.config/fish/completions/42md.fish"

只想在当前终端试一下,不写文件:

bash
source <(42md completion zsh)

bash 用 eval "$(42md completion bash)",fish 用 42md completion fish | source。42md completion 也能生成 powershell 和 elvish 的补全脚本。

小提示

  • 42md<Tab>(没有空格)补的是命令名本身;42md <Tab>(有空格)才列出子命令。
  • 补全文件是按当前版本生成的。升级后工具有增减,重新跑一次上面的 42md completion 命令就跟上了。

自动更新

装好之后什么都不用做。平时跑 42md 命令时,它会在后台检查新版本,发现了就静默下载,下次运行时用上新版,并提示一句「已自动升级」。不拖慢当前命令,不需要 sudo。

立刻升级

不想等,手动升一次:

bash
42md upgrade

重跑一遍安装命令也一样能升到最新版。

锁定版本

录演示视频、在 CI 里复现问题时,想让版本固定不动,设一个环境变量:

bash
export MD42_NO_AUTO_UPDATE=1

加进 ~/.zshrc 或 ~/.bashrc 就一直生效;只想对一条命令生效,写在命令前面:

bash
MD42_NO_AUTO_UPDATE=1 42md 报告.pdf

在 CI 环境里(设置了 CI 环境变量)42md 本来就不会自动更新。

网页版

网页版 始终是最新版本,不需要任何操作。

下一步

  • 所有命令一览:
  • 更新内容: