mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-12-25 00:21:58 +00:00
expand features section
This commit is contained in:
parent
3b281aba49
commit
6686f3ba17
1 changed files with 106 additions and 4 deletions
110
README.md
110
README.md
|
@ -66,6 +66,13 @@ Configuration wizard creates `~/.p10k.zsh` based on your preferences. Additional
|
|||
customization can be done by editing this file. It has many comments to help you navigate through
|
||||
configuration options.
|
||||
|
||||
All styles except [Pure](#pure-compatibility) are functionally equivalent. They display the same
|
||||
information and differ only in presentation.
|
||||
|
||||
Tip: Install [the recommended font](#recommended-meslo-nerd-font-patched-for-powerlevel10k) before
|
||||
running `p10k configure`. If you are using iTerm2, `p10k configure` can install the font for you.
|
||||
Simply say *Yes* when asked.
|
||||
|
||||
### Unparalleled performance
|
||||
|
||||
When you hit *ENTER*, the next prompt appears instantly. With Powerlevel10k there is no prompt lag.
|
||||
|
@ -86,7 +93,7 @@ Note how the effect of every command is instantly reflected by the very next pro
|
|||
| `rm COPYING` | `!1` | 1 unstaged change |
|
||||
| `echo 2.7.3 >.python-version` | `🐍 2.7.3` | the current python version in pyenv |
|
||||
|
||||
Other Zsh themes capable of displaying the same information either produce prompt lag or print stale
|
||||
Other Zsh themes capable of displaying the same information either produce prompt lag or print
|
||||
prompt that doesn't reflect the current state of the system and then refresh it later. With
|
||||
Powerlevel10k you get fast prompt *and* up-to-date information.
|
||||
|
||||
|
@ -116,7 +123,7 @@ exec zsh
|
|||
|
||||
Optional: Type `p10k configure` and explore exlusive Powerlevel10k prompt styles.
|
||||
|
||||
### Pure emulation
|
||||
### Pure compatibility
|
||||
|
||||
Powerlevel10k can produce the same prompt as [Pure](https://github.com/sindresorhus/pure). Type
|
||||
`p10k configure` and select *Pure* style.
|
||||
|
@ -124,8 +131,103 @@ Powerlevel10k can produce the same prompt as [Pure](https://github.com/sindresor
|
|||
![Powerlevel10k Pure Style](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/pure-style.gif)
|
||||
|
||||
You can still use Powerlevel10k features such as *Transient Prompt* or *Instant Prompt* when
|
||||
sporting Pure style.
|
||||
You can still use Powerlevel10k features such as [Transient Prompt](#transient-prompt) or
|
||||
[Instant Prompt](#instant-prompt) when sporting Pure style.
|
||||
|
||||
To customize prompt, edit `~/.p10k.zsh`. Powerlevel10k doesn't recognize Pure configuration
|
||||
parameters, so you need to use `POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3` instead of
|
||||
`PURE_CMD_MAX_EXEC_TIME=3`, etc. All relevant parameters are in the config.
|
||||
|
||||
### Instant prompt
|
||||
|
||||
If your `~/.zshrc` loads many plugins, or perhaps just a few slow ones (pyenv and nvm are the usual
|
||||
suspects), you may have noticed that it takes some time for Zsh to start.
|
||||
|
||||
![Powerlevel10k Pure Style](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/no-instant-prompt.gif)
|
||||
|
||||
Powerlevel10k can remove Zsh startup lag *even if it's not caused by a theme*.
|
||||
|
||||
![Powerlevel10k Pure Style](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/instant-prompt.gif)
|
||||
|
||||
This feature is called *Instant Prompt*. You need to explicitly enable it through `p10k configure`
|
||||
or [manually](#what-is-instant-prompt). It does what it says on the tin -- prints prompt instantly
|
||||
upon Zsh startup so you can start typing while plugins are still loading.
|
||||
|
||||
Other themes *increase* Zsh startup lag -- some by a lot, others by a just a little -- while
|
||||
Powerlevel10k *removes* it outright.
|
||||
|
||||
### Show on command
|
||||
|
||||
The behavior of some commands depends on global environment. For example, `kubectl run ...` runs an
|
||||
image on the cluster defined by the current kubernetes context. If you frequently change context
|
||||
between "prod" and "testing", you might want to display the current context in Zsh prompt. If you do
|
||||
likewise for AWS, Azure and Google Cloud credentials, prompt will get pretty crowded.
|
||||
|
||||
Enter *Show On Command*. This feature makes certain prompt segments appear only when they are
|
||||
relevant to the command you are currently typing.
|
||||
|
||||
![Powerlevel10k Show On Command](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/show-on-command.gif)
|
||||
|
||||
Configs created by `p10k configure` enable Show On Command for several prompt segments by default.
|
||||
|
||||
```zsh
|
||||
# Show prompt segment "kubecontext" only when the command you are typing
|
||||
# invokes kubectl, helm, kubens, kubectx or oc.
|
||||
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc'
|
||||
```
|
||||
|
||||
To customize when different prompt segments are shown, open `~/.p10k.zsh`, search for
|
||||
`SHOW_ON_COMMAND` and either remove these parameters to display affected segments unconditionally,
|
||||
or change their values.
|
||||
|
||||
### Transient prompt
|
||||
|
||||
When *Transient Prompt* is enabled through `p10k configure`, Powerlevel10k will trim down every
|
||||
prompt when accepting a command line.
|
||||
|
||||
![Powerlevel10k Show On Command](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/transient-prompt.gif)
|
||||
|
||||
Transient Prompt makes it much easier to copy-paste series of commands from the terminal scrollback.
|
||||
|
||||
Tip: If you enable Transient Prompt, take advantage of two-line prompt. You'll get the benefit of
|
||||
extra space for typing commands from fixed offset without the usual downside of reduced scrollback
|
||||
density.
|
||||
|
||||
### Current directory that just works
|
||||
|
||||
The current working directory is perhaps the most important prompt segment. Powerlevel10k goes to
|
||||
great length to highlight its important parts and to truncate it with the least loss of information.
|
||||
|
||||
![Powerlevel10k Directory Truncation](
|
||||
https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/directory-truncation.gif)
|
||||
|
||||
When the full directory doesn't fit, the leftmost segment gets truncated to its shortest unique
|
||||
prefix. In the screencast, `~/work` becomes `~/wo`. It couldn't be truncated to `~/w` because it
|
||||
would be ambiguous (there was `~/wireguard` when the session was recorded). The next segment --
|
||||
`projects` -- turns into `p` as there was nothing else that started with `p` in `~/work`.
|
||||
|
||||
Directory segments are shown in one of three colors:
|
||||
|
||||
- Important segments are bright and never truncated. These include the first and the last segment,
|
||||
roots of Git repositories, etc.
|
||||
- Truncated segments are bleak.
|
||||
- Regular segments (not truncated but can be) use in-between color.
|
||||
|
||||
Tip: If you copy-paste a truncated directory and hit *TAB*, it'll complete to the original.
|
||||
|
||||
### Extremely customizable
|
||||
|
||||
Powerlevel10k can be configured to look like any other Zsh theme.
|
||||
|
||||
TODO
|
||||
|
||||
### Batteries included
|
||||
|
||||
TODO
|
||||
|
||||
## Installation
|
||||
|
||||
|
|
Loading…
Reference in a new issue