|
| 1 | +<p align="center"> |
| 2 | + <img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh"> |
| 3 | +</p> |
| 4 | + |
| 5 | +Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration. |
| 6 | + |
| 7 | +That sounds boring. Let's try this again. |
| 8 | + |
| 9 | +__Oh My Zsh is a way of life!__ |
| 10 | + |
| 11 | +Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_ |
| 12 | + |
| 13 | +Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often. |
| 14 | + |
| 15 | +To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. |
| 16 | + |
| 17 | +## Getting Started |
| 18 | + |
| 19 | +### Prerequisites |
| 20 | + |
| 21 | +__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._ |
| 22 | + |
| 23 | +* Unix-like operating system (macOS or Linux) |
| 24 | +* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH) |
| 25 | +* `curl` or `wget` should be installed |
| 26 | +* `git` should be installed |
| 27 | + |
| 28 | +### Basic Installation |
| 29 | + |
| 30 | +Oh My Zsh is installed by running one of the following commands in your terminal. You can install this via the command-line with either `curl` or `wget`. |
| 31 | + |
| 32 | +#### via curl |
| 33 | + |
| 34 | +```shell |
| 35 | +sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
| 36 | +``` |
| 37 | + |
| 38 | +#### via wget |
| 39 | + |
| 40 | +```shell |
| 41 | +sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" |
| 42 | +``` |
| 43 | + |
| 44 | +## Using Oh My Zsh |
| 45 | + |
| 46 | +### Plugins |
| 47 | + |
| 48 | +Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a look in the [plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) directory and/or the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins) to see what's currently available. |
| 49 | + |
| 50 | +#### Enabling Plugins |
| 51 | + |
| 52 | +Once you spot a plugin (or several) that you'd like to use with Oh My Zsh, you'll need to enable them in the `.zshrc` file. You'll find the zshrc file in your `$HOME` directory. Open it with your favorite text editor and you'll see a spot to list all the plugins you want to load. |
| 53 | + |
| 54 | +For example, this line might begin to look like this: |
| 55 | + |
| 56 | +```shell |
| 57 | +plugins=(git bundler osx rake ruby) |
| 58 | +``` |
| 59 | + |
| 60 | +#### Using Plugins |
| 61 | + |
| 62 | +Most plugins (should! we're working on this) include a __README__, which documents how to use them. |
| 63 | + |
| 64 | +### Themes |
| 65 | + |
| 66 | +We'll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme happy. We have over one hundred themes now bundled. Most of them have [screenshots](https://wiki.github.com/robbyrussell/oh-my-zsh/themes) on the wiki. Check them out! |
| 67 | + |
| 68 | +#### Selecting a Theme |
| 69 | + |
| 70 | +_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just the right one (for him)._ |
| 71 | + |
| 72 | +Once you find a theme that you want to use, you will need to edit the `~/.zshrc` file. You'll see an environment variable (all caps) in there that looks like: |
| 73 | + |
| 74 | +```shell |
| 75 | +ZSH_THEME="robbyrussell" |
| 76 | +``` |
| 77 | + |
| 78 | +To use a different theme, simply change the value to match the name of your desired theme. For example: |
| 79 | + |
| 80 | +```shell |
| 81 | +ZSH_THEME="agnoster" # (this is one of the fancy ones) |
| 82 | +# you might need to install a special Powerline font on your console's host for this to work |
| 83 | +# see https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster |
| 84 | +``` |
| 85 | + |
| 86 | +Open up a new terminal window and your prompt should look something like this: |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | +In case you did not find a suitable theme for your needs, please have a look at the wiki for [more of them](https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes). |
| 91 | + |
| 92 | +If you're feeling feisty, you can let the computer select one randomly for you each time you open a new terminal window. |
| 93 | + |
| 94 | + |
| 95 | +```shell |
| 96 | +ZSH_THEME="random" # (...please let it be pie... please be some pie..) |
| 97 | +``` |
| 98 | + |
| 99 | + |
| 100 | +## Advanced Topics |
| 101 | + |
| 102 | +If you're the type that likes to get their hands dirty, these sections might resonate. |
| 103 | + |
| 104 | +### Advanced Installation |
| 105 | + |
| 106 | +Some users may want to change the default path, or manually install Oh My Zsh. |
| 107 | + |
| 108 | +#### Custom Directory |
| 109 | + |
| 110 | +The default location is `~/.oh-my-zsh` (hidden in your home directory) |
| 111 | + |
| 112 | +If you'd like to change the install directory with the `ZSH` environment variable, either by running `export ZSH=/your/path` before installing, or by setting it before the end of the install pipeline like this: |
| 113 | + |
| 114 | +```shell |
| 115 | +export ZSH="$HOME/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
| 116 | +``` |
| 117 | + |
| 118 | +#### Manual Installation |
| 119 | + |
| 120 | +##### 1. Clone the repository: |
| 121 | + |
| 122 | +```shell |
| 123 | +git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh |
| 124 | +``` |
| 125 | + |
| 126 | +##### 2. *Optionally*, backup your existing `~/.zshrc` file: |
| 127 | + |
| 128 | +```shell |
| 129 | +cp ~/.zshrc ~/.zshrc.orig |
| 130 | +``` |
| 131 | + |
| 132 | +##### 3. Create a new zsh configuration file |
| 133 | + |
| 134 | +You can create a new zsh config file by copying the template that we have included for you. |
| 135 | + |
| 136 | +```shell |
| 137 | +cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc |
| 138 | +``` |
| 139 | + |
| 140 | +##### 4. Change your default shell |
| 141 | + |
| 142 | +```shell |
| 143 | +chsh -s /bin/zsh |
| 144 | +``` |
| 145 | + |
| 146 | +##### 5. Initialize your new zsh configuration |
| 147 | + |
| 148 | +Once you open up a new terminal window, it should load zsh with Oh My Zsh's configuration. |
| 149 | + |
| 150 | +### Installation Problems |
| 151 | + |
| 152 | +If you have any hiccups installing, here are a few common fixes. |
| 153 | + |
| 154 | +* You _might_ need to modify your `PATH` in `~/.zshrc` if you're not able to find some commands after switching to `oh-my-zsh`. |
| 155 | +* If you installed manually or changed the install location, check the `ZSH` environment variable in `~/.zshrc`. |
| 156 | + |
| 157 | +### Custom Plugins and Themes |
| 158 | + |
| 159 | +If you want to override any of the default behaviors, just add a new file (ending in `.zsh`) in the `custom/` directory. |
| 160 | + |
| 161 | +If you have many functions that go well together, you can put them as a `XYZ.plugin.zsh` file in the `custom/plugins/` directory and then enable this plugin. |
| 162 | + |
| 163 | +If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the `custom/plugins/` directory and it will be loaded instead of the one in `plugins/`. |
| 164 | + |
| 165 | +## Getting Updates |
| 166 | + |
| 167 | +By default, you will be prompted to check for upgrades every few weeks. If you would like `oh-my-zsh` to automatically upgrade itself without prompting you, set the following in your `~/.zshrc`: |
| 168 | + |
| 169 | +```shell |
| 170 | +DISABLE_UPDATE_PROMPT=true |
| 171 | +``` |
| 172 | + |
| 173 | +To disable automatic upgrades, set the following in your `~/.zshrc`: |
| 174 | + |
| 175 | +```shell |
| 176 | +DISABLE_AUTO_UPDATE=true |
| 177 | +``` |
| 178 | + |
| 179 | +### Manual Updates |
| 180 | + |
| 181 | +If you'd like to upgrade at any point in time (maybe someone just released a new plugin and you don't want to wait a week?) you just need to run: |
| 182 | + |
| 183 | +```shell |
| 184 | +upgrade_oh_my_zsh |
| 185 | +``` |
| 186 | + |
| 187 | +Magic! |
| 188 | + |
| 189 | +## Uninstalling Oh My Zsh |
| 190 | + |
| 191 | +Oh My Zsh isn't for everyone. We'll miss you, but we want to make this an easy breakup. |
| 192 | + |
| 193 | +If you want to uninstall `oh-my-zsh`, just run `uninstall_oh_my_zsh` from the command-line. It will remove itself and revert your previous `bash` or `zsh` configuration. |
| 194 | + |
| 195 | +## Contributing |
| 196 | + |
| 197 | +I'm far from being a [Zsh](http://www.zsh.org/) expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests! |
| 198 | + |
| 199 | +We also need people to test out pull-requests. So take a look through [the open issues](https://github.com/robbyrussell/oh-my-zsh/issues) and help where you can. |
| 200 | + |
| 201 | +### Do NOT send us themes |
| 202 | + |
| 203 | +We have (more than) enough themes for the time being. Please add your theme to the [external themes](https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes) wiki page. |
| 204 | + |
| 205 | +## Contributors |
| 206 | + |
| 207 | +Oh My Zsh has a vibrant community of happy users and delightful contributors. Without all the time and help from our contributors, it wouldn't be so awesome. |
| 208 | + |
| 209 | +Thank you so much! |
| 210 | + |
| 211 | +## Follow Us |
| 212 | + |
| 213 | +We're on the social media. |
| 214 | + |
| 215 | +* [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it. |
| 216 | +* [Oh My Zsh](https://www.facebook.com/Oh-My-Zsh-296616263819290/) on Facebook. |
| 217 | + |
| 218 | +## Merchandise |
| 219 | + |
| 220 | +We have [stickers](http://shop.planetargon.com/products/ohmyzsh-stickers-set-of-3-stickers) and [shirts](http://shop.planetargon.com/products/ohmyzsh-t-shirts) for you to show off your love of Oh My Zsh. Again, this will help you become the talk of the town! |
| 221 | + |
| 222 | +## License |
| 223 | + |
| 224 | +Oh My Zsh is released under the [MIT license](LICENSE.txt). |
| 225 | + |
| 226 | +## About Planet Argon |
| 227 | + |
| 228 | + |
| 229 | + |
| 230 | +Oh My Zsh was started by the team at [Planet Argon](https://www.planetargon.com/?utm_source=github), a [Ruby on Rails development agency](https://www.planetargon.com/skills/ruby-on-rails-development?utm_source=github). |
0 commit comments