starship/docs/zh-CN/faq/README.md

54 lines
2.4 KiB
Markdown
Raw Normal View History

2020-02-04 17:11:36 +00:00
# 常见问题
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
## 主页 GIF 示例中的效果用的是什么配置?
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
- **终端模拟器**[iTerm2](https://iterm2.com/)
- **主题**Minimal
- **颜色方案**[Snazzy](https://github.com/sindresorhus/iterm2-snazzy)
- **字体**[Fira Code](https://github.com/tonsky/FiraCode)
- **Shell**[Fish Shell](https://fishshell.com/)
- **fish 配置**[matchai's Dotfiles](https://github.com/matchai/dotfiles/blob/master/.config/fish/config.fish)
- **提示符工具**[Starship](https://starship.rs/)
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
## `prompt_order` 和 `<module>.disabled` 的效果是一样的吗?
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
是的,他们都可以用来禁用提示符中的组件。 如果你只是想禁用组件,推荐使用 `<module>.disabled`,原因如下:
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
- “禁用组件”比在 prompt_order 中忽略某个组件更为清晰明确
- 当 Starship 升级后,新组件将能够自动被加入提示符中
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
## 你们的文档说“Starship 是跨 shell 的”,但它不支持 X shell。 为什么?
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
Starship 的构建方式决定了它应当能够增加对几乎所有 shell 的支持。 Starship 的二进制文件是无状态、不知道当前 shell 的,所以只要你的 shell 支持自定义提示符和 shell 扩展,就能使用 Starship。
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
这是一个在 bash 上使用 Starship 的简单例子:
2019-12-06 22:07:57 +00:00
```sh
# Get the status code from the last command executed
STATUS=$?
# Get the number of jobs running.
NUM_JOBS=$(jobs -p | wc -l)
# Set the prompt to the output of `starship prompt`
PS1="$(starship prompt --status=$STATUS --jobs=NUM_JOBS)"
```
2020-02-04 17:11:36 +00:00
内置于 Starship 的 [Bash 适配](https://github.com/starship/starship/blob/master/src/init/starship.bash) 稍微复杂一些,实现了像 [命令用时统计组件](https://starship.rs/config/#Command-Duration) 这样的功能,还确保 Starship 能与之前设置的 Bash 配置相兼容。
2019-12-06 22:07:57 +00:00
2020-02-04 17:11:36 +00:00
使用以下命令了解 `starship prompt` 所能接受的所有参数:
2019-12-06 22:07:57 +00:00
```sh
starship prompt --help
2019-12-06 22:07:57 +00:00
```
2020-02-04 17:11:36 +00:00
Starship 会处理所提供的全部上下文参数并在提示符中显示,但没有参数是“必需”的。
## How do I run Starship on Linux distributions with older versions of glibc?
If you get an error like "*version 'GLIBC_2.18' not found (required by starship)*" when using the prebuilt binary (for example, on CentOS 6 or 7), you can use a binary compiled with `musl` instead of `glibc`:
```sh
curl -fsSL https://starship.rs/install.sh | bash -s -- --platform unknown-linux-musl
```