You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: Readme.md
+49-45
Original file line number
Diff line number
Diff line change
@@ -39,11 +39,11 @@
39
39
40
40
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
41
41
42
-
# Installation
42
+
##Installation
43
43
44
-
## Prerequisites
44
+
###Prerequisites
45
45
46
-
### Fonts
46
+
####Fonts
47
47
48
48
This quickstart includes the [powerlevel10k](https://github.com/romkatv/powerlevel10k) ZSH theme, which requires a Powerline-compatible font in your terminal to display certain status glyphs. Fonts that are Powerline-compatible include many useful glyphs, including the nice branch icon that the theme in this `.zshrc` uses.
49
49
@@ -62,9 +62,9 @@ Here are a few good Powerline-compatible fonts:
62
62
*[Victor Mono](https://rubjo.github.io/victor-mono/) - Victor Mono is a free programming font with semi-connected cursive italics, symbol ligatures (!=, ->>, =>, ===, <=, >=, ++) and Latin, Cyrillic and Greek characters.
63
63
*[spacemono](https://github.com/googlefonts/spacemono) - Google's new original monospace display typeface family.
64
64
65
-
## OS-specific setup
65
+
###OS-specific setup
66
66
67
-
### macOS
67
+
####macOS
68
68
69
69
1. Download iTerm2 from [http://www.iterm2.com](http://www.iterm2.com). It is considerably nicer than the stock Terminal application that comes with macOS. Please note - there is an RCE flaw in all versions of iTerm 2 before 3.3.6, so update if you're using an affected version.
70
70
2. Install the current version of Homebrew from [http://brew.sh/](http://brew.sh/).
@@ -80,7 +80,7 @@ Here are a few good Powerline-compatible fonts:
80
80
1. In iTerm 2, go to Preferences->Profile in your iTerm 2 preferences, then select one of the Powerline-compatible fonts you just installed.
81
81
2.**Make sure you also specify a Powerline-compatible font for non-ASCII in your iTerm 2 preferences or the prompt separators and branch glyphs will show up garbled**.
82
82
83
-
### Linux
83
+
####Linux
84
84
85
85
1. Switch your shell to `zsh` with `chsh -s /bin/zsh`
86
86
2. Install GNU Stow - `yum install -y stow` on Red Hat / CentOS systems, `apt-get -y install stow` on Debian / Ubuntu.
@@ -95,7 +95,7 @@ If you still can’t see the new fonts then double-check that the font has been
95
95
96
96
If you get garbled branch glyphs, make sure there isn't a separate font setting for non-ASCII characters in your terminal application that you also need to set to use a Powerline-compatible font. Konsole needs to be set to use UTF-8 encoding, for example.
97
97
98
-
## Set up Zgen and the starter kit
98
+
###Set up Zgen and the starter kit
99
99
100
100
Now that your fonts and default shell have been set up, install [zgenom](https://github.com/jandamm/zgenom.git) and the dotfiles from this starter kit repository.
101
101
@@ -112,7 +112,7 @@ Now that your fonts and default shell have been set up, install [zgenom](https:/
112
112
113
113
The `.zshrc`, `.zsh_aliases` & `.zsh_functions` files included in this kit enable the plugins listed below.
114
114
115
-
# Contents of the kit
115
+
##Contents of the kit
116
116
117
117
The zsh-quickstart-kit configures your ZSH environment so that it includes:
118
118
@@ -127,7 +127,7 @@ The zsh-quickstart-kit configures your ZSH environment so that it includes:
127
127
* Various helper functions for interacting with macOS's clipboard, audio volume, Spotlight and Quicklook. For your convenience, these will only load if you are on a macOS machine so you can use the same plugin list on any *NIX system.
128
128
* If you've installed iTerm2's shell integration, it will automatically be loaded during shell startup.
129
129
130
-
## Included plugins:
130
+
###Included plugins
131
131
132
132
*[chrissicool/zsh-256color](https://github.com/chrissicool/zsh-256color) - Sets your terminal to 256 colors if available.
133
133
*[djui/alias-tips](https://github.com/djui/alias-tips) - Warns you when you have an alias for the command you just typed, and tells you what it is.
@@ -151,48 +151,52 @@ The zsh-quickstart-kit configures your ZSH environment so that it includes:
151
151
*[zsh-users/zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) - Syntax highlighting as you type.
152
152
153
153
The quickstart kit also uses `zgenom` to load oh-my-zsh and these plugins:
154
-
* aws
155
-
* brew - only loaded on macOS
156
-
* chruby
157
-
* colored-man
158
-
* git
159
-
* github
160
-
* osx - this will only be loaded on macOS
161
-
* pip
162
-
* python
163
-
* rsync
164
-
* screen
165
-
* sudo
166
-
* vagrant
167
-
168
-
# Customizing the kit
169
-
170
-
## Behavior toggles
154
+
* aws
155
+
* brew - only loaded on macOS
156
+
* chruby
157
+
* colored-man
158
+
* git
159
+
* github
160
+
* osx - this will only be loaded on macOS
161
+
* pip
162
+
* python
163
+
* rsync
164
+
* screen
165
+
* sudo
166
+
* vagrant
167
+
168
+
##Customizing the kit
169
+
170
+
###Behavior toggles
171
171
172
172
Running the following commands will toggle behavior the next time you start a shell session:
173
173
174
174
*`zsh-quickstart-disable-omz-plugins` - Makes the stock quickstart not load any of the oh-my-zsh plugins it would normally use. You can re-enable them for new shell sessions with `zsh-quickstart-enable-omz-plugins`.
175
-
*`zsh-quickstart-select-powerlevel10k` - I've switched to using the [powerlevel10k](https://github.com/romkatv/powerlevel10k) prompt since I first wrote this quickstart. I feel like I shouldn't change the prompt out from under people without a way for them to get the old behavior, so I'm providing toggle commands to switch between it and the [bullet-train](https://github.com/caiogondim/bullet-train.zsh) prompt I originally used in the kit.
175
+
*`zsh-quickstart-select-powerlevel10k` - I've switched to using the [powerlevel10k](https://github.com/romkatv/powerlevel10k) prompt since I first wrote this quickstart. I'm providing toggle commands to switch between it and the [bullet-train](https://github.com/caiogondim/bullet-train.zsh) prompt I originally used in the kit.
176
176
*`zsh-quickstart-select-bullet-train` - Switch back to the old bullet-train prompt.
177
177
* You can disable printing the list of `ssh` keys by setting `DONT_PRINT_SSH_KEY_LIST` in a file in `~/.zshrc.d`.
178
178
179
-
## Functions and Aliases
179
+
###Functions and Aliases
180
180
181
-
The `.zshrc` included in this kit will automatically source any files it finds in `~/.zshrc.d`. This makes it easy for you to add extra functions and aliases without having to maintain a separate fork of this repository, and also allows you to configure behavior of some of the plugins by setting environment variables. The files will be sourced in alphanumeric order after loading all the plugins and I suggest you use a naming scheme of `001-onething`, `002-something-else` etc to ensure they're loaded in the order you expect.
181
+
The `.zshrc` included in this kit will automatically source any files it finds in `~/.zshrc.d`.
182
182
183
-
## I like a plugin, but the aliases it installs overwrite other commands or aliases
183
+
This makes it easy for you to add extra functions and aliases without having to maintain a separate fork of this repository, and also allows you to configure behavior of some of the plugins by setting environment variables.
184
+
185
+
The files will be sourced in alphanumeric order after loading all the plugins and I suggest you use a naming scheme of `001-onething`, `002-something-else` etc to ensure they're loaded in the order you expect.
186
+
187
+
### I like a plugin, but the aliases it installs overwrite other commands or aliases
184
188
185
189
Make a file in `~/.zshrc.d` named something like `999-reset-aliases`. Since those are loaded after all the ZSH plugins, you can add lines like `unalias xyzzy` to remove an alias named `xyzzy`. Once you've cleared all the aliases you don't want, you can add new ones with the names you prefer.
186
190
187
-
## ZSH options.
191
+
###ZSH options
188
192
189
193
The quickstart kit does an opinionated (i.e. my way) setup of ZSH options and adds some functions and aliases I like on my systems. However, `~/.zshrc.d` is processed _after_ the quickstart sets its aliases, functions and ZSH options, so if you don't care for something as set up in the quickstart, you can override the offending item in a shell fragment file there.
190
194
191
-
## Self-update Settings
195
+
###Self-update Settings
192
196
193
197
The quickstart kit will automatically check for updates every seven days. If you want to change the interval, set `QUICKSTART_KIT_REFRESH_IN_DAYS` in a file in `~/.zshrc.d`. If you want to disable self updating entirely, add `unset QUICKSTART_KIT_REFRESH_IN_DAYS` in a file in `~/.zshrc.d`.
194
198
195
-
## Changing the plugin list
199
+
###Changing the plugin list
196
200
197
201
I've included what I think is a good starter set of ZSH plugins in this repository. However, everyone has their own preferences for their environment.
198
202
@@ -204,52 +208,52 @@ I know that it's a pain to create `.zgen-local-plugins` from scratch, so to make
204
208
205
209
Copy that to your `$HOME/.zgen-local-plugins`, change the list and the next time you start a terminal session you'll get your list instead of mine.
206
210
207
-
## Disabling zmv
211
+
###Disabling zmv
208
212
209
213
The quickstart automatically autoloads zmv. If you want to disable that, create a file named `.zsh-quickstart-no-zmv` in your home directory.
210
214
211
-
## Disabling oh-my-zsh
215
+
###Disabling oh-my-zsh
212
216
213
217
If you don't want zgen to load the oh-my-zsh defaults, create `.zsh-quickstart-no-omz` in your home directory.
214
218
215
-
# FAQ
219
+
##FAQ
216
220
217
-
## Stow complains with a warning that stowing zsh would cause conflicts
221
+
###Stow complains with a warning that stowing zsh would cause conflicts
218
222
219
223
You ran `stow --target=/Users/YourUsername zsh` in the top level of the repo, and stow printed the following error:
220
224
221
-
```
225
+
```bash
222
226
WARNING! stowing zsh would cause conflicts:
223
227
* existing target is neither a link nor a directory: .zshrc
224
228
All operations aborted.
225
229
```
226
230
227
231
Per @jefheaton, this is caused when trying to replace an existing `.zshrc` file. He fixed it by closing `~` in Finder so Finder wouldn't create a `.DS_Store` file, deleting the existing `.DS_Store`, and then removing the old `.zshrc`. You may have to rename it first if ZSH is keeping the file open, then deleting it after closing all your Terminal/iTerm 2 windows.
228
232
229
-
## I added a new completion plugin and it isn't working
233
+
###I added a new completion plugin and it isn't working
230
234
231
235
I've had reports that sometimes you need to reset your completions after adding a new plugin.
232
236
233
-
```
237
+
```bash
234
238
rm ~/.zcompdump*
235
239
compinit
236
240
```
237
241
238
-
## The separators in the prompt are garbled
242
+
###The separators in the prompt are garbled
239
243
240
244
If you get garbled prompt separators or branch glyphs, make sure there isn't a separate font setting for non-ASCII characters in your terminal application. If there is, you also need to set that to use a Powerline-compatible font. Konsole needs to be set to use UTF-8 encoding, for example.
241
245
242
-
# Other Resources
246
+
##Other Resources
243
247
244
-
## ZSH
248
+
###ZSH
245
249
246
250
* For a list of other ZSH plugins, completions and themes you might like to use, check out my [awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins) list. It also contains a list of other ZSH [tutorials and starter kits](https://github.com/unixorn/awesome-zsh-plugins#generic-zsh).
247
251
* Justin Garrison has a good repo that details [Mastering ZSH](https://github.com/rothgar/mastering-zsh).
248
252
249
-
## Dotfiles in general
253
+
###Dotfiles in general
250
254
251
255
[dotfiles.github.io/](https://dotfiles.github.io/) has a lot of great resources for dotfiles - frameworks for managing them, configurations for editors and other bootstraps with initial configurations to start from.
252
256
253
-
## Vim
257
+
###Vim
254
258
255
259
If you're using vim, [spf13](http://vim.spf13.com/) is an excellent starter configuration and plugin collection.
0 commit comments