Skip to content

Latest commit

 

History

History
152 lines (91 loc) · 4.95 KB

README.md

File metadata and controls

152 lines (91 loc) · 4.95 KB

zero's zsh

Consists of a theme and a plugin. They can be used independently. Both have to be activated explicitly.

Requirments

Installation

Please run the installation of oh-my-zsh before installing zero.zsh. Afterwards run:

curl https://raw.githubusercontent.com/arlimus/zero.zsh/master/bootstrap.sh | sh -

Alternatively:

git clone https://github.com/arlimus/zero.zsh.git
cd zero.zsh
./install.sh

Now enable it in your ~/.zshrc:

# set zero-dark or zero-light as the theme
ZSH_THEME="zero-dark"

# add zero to the list of plugins
plugins=(git zero)

Reload your zsh and you are ready to go.

Theme

  • simple clean design
  • support for git and hg repositories
  • 256-color theme

Set theme to zero-dark if you have a dark terminal (white text on black background):

Preview in themes/zero.zsh-theme.png

Set theme to zero-light if you have a light terminal (black text on white background):

Preview in themes/zero-light.zsh-theme.png

If you want to quickly change the theme, use the plugin (see below). This will provide shortcut commands for theming:

dark_theme        # sets theme to zero-dark
light_theme       # sets theme to zero-light

There are also theme-related commands:

zsh_reload_theme             # quickly reload zsh
zsh_load_theme "zero-dark"   # load a theme, eg this theme

References:

Configuration

If you want to further edit the theme, have a look at zero-dark.zsh-theme or zero-light.zsh-theme respectively. You can quickly see all important configuration options.

For example, if you don't like:

before modification

and want:

after modification

add this at the end of your .zshrc:

export ZSH_THEME_PROMPT_CHAR_USER="∅"

Plugin

Please see plugins/zero/zero.plugin.zsh. All changes are well documented.

Short reference:

  • quickly go to root folder of git repository

      cdgit
    
  • ignorant ssh commands: ssh while ignoring host key checking. use these like you would use ssh, scp, and pssh. use with caution! (only recommended if you trust the network they reside in)

      sshi name@destination
      scpi file name@destination:
      psshi -l name -h hosts date
    
  • grep all IPv4 and IPv6 addresses also works in global style via ,g_ip, ,g_ip4, ,g_ip6

      grep_ip nmap_output.txt
      grep_ip4 nmap_output.txt
      grep_ip6 nmap_output.txt
      nmap 192.168.0.0/24 ,g_ip4
    
  • if they are installed, use advcp utilities (coreutils' cp and mv with progress bar)

      cp -rv a /to/b                 # /usr/bin/acp -g  -rv a /to/b
      mv -v a /to/b                  # /usr/bin/amv -g  -v a /to/b
    
  • simple shorthands

      l                              # ls
      l1                             # ls -1
      ll                             # ls -lha
      sl                             # ls
      ..                             # cd ../
      .....                          # cd ../../../../
    
  • global aliases for less

      cat huge.txt ,l                # cat huge.txt  | less
      ./stdout+stderr.sh ,la         # ./stdout+stderr.sh 2>&1 | less"
    
  • global aliases for grep

      cat my.html ,g "<h3" ,g "id="  # cat my.html  | grep  "<h3"  | grep  "id="
      cat all.log ,gv ignore_me      # cat all.log  | grep --invert-match  ignore_me
      cat ALLCAPS ,gi noncaps        # cat ALLCAPS  | grep --ignore-case  noncaps
      cat CAPS.log ,giv ignore       # cat CAPS.log  | grep --ignore-case --invert-match  ignore
      cat my.html ,go "href=[^ ]*"   # cat my.html  | grep --only  "href=[^ ]*"
    
  • global aliases for sort

      ls -1 ,s                       # ls -1  | sort
      cat lines ,sr                  # cat lines  | sort --reverse
      du -hs * ,sh                   # du -hs *  | sort --human-numeric-sort
      du -hs * ,shr                  # du -hs *  | sort --human-numeric-sort --reverse
    
  • global aliases for wc (counting)

      ls -1 ,count                   # ls -1  | wc --lines
      ls -1 ,cl                      # ls -1  | wc --lines
      cat essay.txt ,cw              # cat essay.txt  | wc --words
      cat my.bin ,cb                 # cat my.bin  | wc --bytes
    
  • other global aliases

      ./run.daemon ,nul              # ./run.daemon > /dev/null 2>&1
    

Issues / Suggestions

I'd love to hear your opinion! Feel free to add issues, or contributions, or drop me a line.

License: Apache v2