aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9c99d53
--- /dev/null
+++ b/README.md
@@ -0,0 +1,77 @@
+# Totally not done the night before ZSH presentatioj
+
+## Overwhelming list of plugin stuff
+
+https://github.com/unixorn/awesome-zsh-plugins
+
+There is so much to read but I would mostly just skim `plugins` for things you
+need.
+
+https://github.com/unixorn/awesome-zsh-plugins#plugins
+
+Fun example I found while browsing plugins
+
+https://github.com/mattberther/zsh-pyenv
+
+## Managing symlinks with gnustow
+
+Source: http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html?round=two
+
+Stow mocks the directory stucture of the .dotfiles to understand where files
+should go. So instead of doing say:
+
+```
+ln -s /path/to/my/source/file.txt /path/to/symlink.txt
+```
+
+You create the directory structure with actual folders and stow can use that
+structure to determine where to place the files given a root directory. It will
+complain if files already exist so you won't overwrite them. To install the
+dotfiles you can simply:
+
+```
+cd stow
+./install
+```
+
+## Functions and Aliases
+
+I only split up my main config and another file that contains my functions and
+aliases. I've included a filtered version of my aliases to give ideas, but
+there is a lot cruft in there.
+
+Essential Tools:
+- fzf (https://github.com/junegunn/fzf)
+- gh (github cli https://cli.github.com/)
+- exa (pretty ls https://github.com/ogham/exa)
+
+## Zplug
+
+zplug is a zsh plugin manager. Add the repos you want in your ~/.zshrc and then
+when you start a new shell you'll be prompted to install the new plugins.
+Supports oh-my-zsh plugins.
+
+## Autocompletes
+
+zsh uses a variable called `fpath` to determine where to find autocomplete
+files. Autocomplete files are prefixed with an underscore and then the command
+name. For example, to find the autocompletes for `docker`, zsh would search the
+fpath variable for a file called `_docker`. You can write your own
+autocompletes for things. Defining an alias in your zsh will let the alias pick
+up the autocompletes for the original commands but if you write a function it
+will not:
+
+```
+# gss will pick up the tab completion for git stash
+alias gs="git stash"
+# this will not
+gs() {
+ git stash
+}
+```
+
+You can use the `compdef` function to assign the autocompletes of one command
+to another. Example in zshrc
+
+You can also write your own completions if you know a simple bash command to
+get the list of options you'd like to be presented with.