mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 11:32:42 +00:00
docs(docs): expand terminal and tmux documentation with launch commands, prompts, persistence, and keybinding updates
This commit is contained in:
1 parent
ce9886c2e7
commit
9e227b416d
10 files changed
+106
-76
No files matched your search
@@ -46,7 +46,8 @@ Interactive shells only (`[[ $- != *i* ]] && return`). In order:
|
||||
6. Sources `~/.config/zsh/keybinds.zsh`.
|
||||
7. `eval "$(suv init zsh)"` if suvadu is installed.
|
||||
8. Sources `~/.config/envman/load.sh` if it is non-empty.
|
||||
9. `eval "$(starship init zsh)"` if starship is installed.
|
||||
9. **Prompt.** If starship is installed: `eval "$(starship init zsh)"`, `ZLE_RPROMPT_INDENT=0` (the right-prompt clock sits flush with the edge), and a transient prompt. A `line-finish` zle hook swaps `PROMPT`/`RPROMPT` to the `transient` and `transient_right` starship profiles (`❯`, colored by the last exit status, and the time) and redraws, so past prompts collapse as in fish; a `precmd` hook restores the full prompt. Starship's zsh init also sets `PROMPT2`, the `∙` continuation prompt for unfinished lines. See [Starship](/shell/starship#shell-integration).
|
||||
**Window title.** A `precmd` hook ports `fish_title`: it sets the terminal title to `%~`, prefixed with the first 10 characters of the hostname over SSH, and inside tmux also sets the window name (`ESC k`), like fish's `50-terminal-title.fish`. Unlike fish's `prompt_pwd`, the path is not abbreviated.
|
||||
10. `eval "$(tv init zsh)"` if `tv` is installed (<kbd>ctrl-t</kbd> smart autocomplete).
|
||||
11. **Syntax highlighting.** Sources the first `zsh-syntax-highlighting.zsh` found in `/usr/share/zsh/plugins/zsh-syntax-highlighting/`, `/opt/homebrew/share/zsh-syntax-highlighting/`, or `/usr/local/share/zsh-syntax-highlighting/`. The comment says this must stay last, because it wraps every zle widget defined before it.
|
||||
12. **atuin.** `eval "$(atuin init zsh)"` if atuin is installed. This line comes after the syntax-highlighting block, so despite the comment, syntax highlighting is not actually last. atuin loads after tv, so it keeps <kbd>ctrl-r</kbd>.
|
||||
|
||||
@@ -21,7 +21,7 @@ fish is the main interactive shell. bash and zsh are set up to feel the same: th
|
||||
| Concern | fish | bash | zsh |
|
||||
| --- | --- | --- | --- |
|
||||
| Aliases | `conf.d/20-aliases.fish` (hand-maintained) | `~/.config/shell/aliases.sh` (rendered from YAML) | same as bash |
|
||||
| Prompt | starship + transient prompt | starship | starship |
|
||||
| Prompt | starship + transient prompt | starship | starship + transient prompt |
|
||||
| History | atuin (hishtory also sourced if installed) | atuin | atuin, plus suvadu if installed |
|
||||
| Key bindings | vi mode plus custom binds | atuin defaults only | emacs keymap plus ports of the fish binds |
|
||||
| cd-style helpers | `functions/*.fish` | `~/.config/bash/functions/*.bash` | `~/.config/zsh/functions/*.zsh` |
|
||||
|
||||
@@ -17,10 +17,12 @@ The file is not a template and applies on every role. `starship` is in `.chezmoi
|
||||
| --- | --- |
|
||||
| fish | `conf.d/40-tools.fish` runs `starship init fish`, then `config.fish` runs it again and calls `enable_transience` |
|
||||
| bash | `eval "$(starship init bash)"` in `~/.bashrc` |
|
||||
| zsh | `eval "$(starship init zsh)"` in `~/.zshrc` |
|
||||
| zsh | `eval "$(starship init zsh)"` in `~/.zshrc`, plus a transient-prompt hook |
|
||||
|
||||
With transience in fish, past prompts in the scrollback collapse to the output of `starship_transient_prompt_func` (`starship module character`, the `❯` alone) and `starship_transient_rprompt_func` (`starship module time`). See [fish](/shell/fish#configfish).
|
||||
|
||||
zsh has no built-in transience, so `~/.zshrc` collapses past prompts itself, rendering the `transient` (`$character`) and `transient_right` (`$time`) entries under `[profiles]` with `starship prompt --profile`. It uses profiles rather than `starship module` because only `starship prompt` wraps color escapes in zsh's `%{…%}`; without them zsh miscounts the right prompt's width. zsh also gets starship's default `∙` continuation prompt (`PROMPT2`). See [bash and zsh](/shell/bash-zsh#zshrc).
|
||||
|
||||
## Layout
|
||||
|
||||
```toml ~/.config/starship.toml
|
||||
|
||||
Reference in new issue
Block a user