powerlevel10k/README.md

101 lines
3.7 KiB
Markdown
Raw Normal View History

2015-02-01 23:33:32 +00:00
## powerlevel9k Theme for Oh-My-Zsh
This is a theme for [Oh-My-Zsh](https://github.com/robbyrussell/oh-my-zsh). This
theme uses [Powerline Fonts](https://github.com/Lokaltog/powerline-fonts), thus
giving you the most epic terminal styling in the universe.
2015-02-01 23:33:32 +00:00
Look like a bad-ass. Impress everyone in 'Screenshot Your Desktop' threads. Use powerlevel9k.
2015-02-01 23:33:32 +00:00
In addition to looking amazing, this theme actually provides a lot of useful
information.
### Features
* Shows lots of information about Git and Hg repositories, including:
2015-02-01 23:33:32 +00:00
* branch / tag name
* current action status (rebasing, merging, etc.,)
* being behind / ahead of your remote
* various local working tree statuses
* Shows command number in right-prompt (so you can `$ !<num>` to re-run)
* Shows return-code of command if it is an error code
* Shows system time in right-prompt
* Indicates background jobs with a gear
* Will conditionally display the `user@host` string
**If you would like an OMZ theme that provides most of the same features but
doesn't require Powerline fonts, check out the sister font,
[hackersaurus](https://github.com/bhilburn/hackersaurus).**
These screenshots should give you an idea of what `powerlevel9k` looks like:
![](http://bhilburn.org/content/images/2014/12/powerlevel9k.png)
![](http://bhilburn.org/content/images/2015/01/pl9k-improved.png)
### Installation
2015-02-01 23:35:25 +00:00
First, you need to install Powerline Fonts. You can find the [installation
2015-02-01 23:33:32 +00:00
instructions
here](https://powerline.readthedocs.org/en/latest/installation/linux.html#fonts-installation).
You can also find the raw font files [in this Github
repository](https://github.com/powerline/fonts) if you want to manually install
them for your OS.
2015-02-01 23:33:32 +00:00
To install this theme, clone this repository, and then copy or symlink the theme
file into your OMZ's `custom` directory. Note that you cannot simply clone the
repository into `custom/themes`, because OMZ does not traverse sub-directories
in `themes`.
2015-02-01 23:33:32 +00:00
$ cd <prefix>
$ git clone https://github.com/bhilburn/powerlevel9k.git powerlevel9k.git
$ cd ~/.oh-my-zsh/custom
$ mkdir themes # if it doesn't already exist
$ cd themes
$ ln -s <prefix>/powerlevel9k.git/powerlevel9k.zsh-theme powerlevel9k.zsh-theme
2015-02-01 23:33:32 +00:00
You then need to select this theme in your `~/.zshrc`:
2015-02-01 23:33:32 +00:00
ZSH_THEME="powerlevel9k"
2015-02-01 23:33:32 +00:00
### Customization
2015-02-01 23:33:32 +00:00
You can choose which segments are shown on each side. The segments that are
currently available are:
2015-02-01 23:33:32 +00:00
* **context** - Your username and host.
* **dir** - Your current working directory.
* **vcs** - Information about this `git` or `hg` repository (if you are in one).
* **rbenv** - Ruby environment information (if one is active).
* **status** - The return code of the previous command, and status of background jobs.
* **history** - The command number for the current line.
* **time** - System time.
To specify which segments you want, just add the following variables to your
`~/.zshrc`. If you don't customize this, the below configuration is the default:
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status history time)
If you want to show the current changeset, enable `POWERLEVEL9K_SHOW_CHANGESET`
in your `~/.zshrc`:
POWERLEVEL9K_SHOW_CHANGESET=true
#### Conditional 'context'
The `context` segment (user@host string) is conditional. This lets you enable it, but only display
it if you are not your normal user or on a remote host (basically, only print it
when it likely you need it).
To use this feature, make sure the `context` segment is enabled in your prompt
elements (it is by default), and define a `DEFAULT_USER` in your `~/.zshrc`:
export DEFAULT_USER=<your username>
2015-02-01 23:33:32 +00:00
### Bugs / Contact
If you have any requests or bug reports, please use the tracker in this Github
repository.