====== Zsh And Oh-my-zsh ====== **General Information** Setting up great looking terminals with zsh, oh-my-zsh and theming. **Checklist** * Fedora 28, Ubuntu 16.04 or Enterprise Linux 7 ---- ====== Install ZSH ====== Install zsh. * Fedorasudo dnf install zsh * Ubuntusudo apt install zsh * EL 7sudo yum install zsh ===== Set ZSH As Default Login Shell ===== Configure zsh as your default login shell. * Fedora, Ubuntu, EL 7 * Change shellchsh -s $(which zsh) * Log out and back in * Verifyecho $SHELL **Note**: This only works for local accounts. If you are using LDAP, you will need to set your default login shell in your LDAP user profile. ---- ====== Install oh-my-zsh ====== Oh-My-Zsh is a framework for managing zsh configuration. It adds tons of themes and plugins to zsh. Official site: https://ohmyz.sh/ * Install pre-reqs (git and curl) * Fedorasudo dnf install git curl * Ubuntusudo apt install git curl * EL 7sudo yum install git curl * Install oh-my-zshsh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" ---- ====== Configure Zsh ====== Configuring zsh. ===== Change Theme ===== Easily change your zsh theme. * List of all theme names/screenshots here: https://github.com/robbyrussell/oh-my-zsh/wiki/Themes * Agnoster theme: https://github.com/agnoster/agnoster-zsh-theme \\ Example: Change to agnoster theme * Edit zsh configvim ~/.zshrc # Set theme name here ZSH_THEME="agnoster" * Re-read config changessource ~/.zshrc * **Note**: The agnoster theme relies upon Powerline fonts for certain symbols. See next section in order to install the font. ---- ===== Install Powerline Fonts ===== The powerline fonts are intended for use with the agnoster theme (they properly display certain symbols that it uses), but are a clean looking set of fonts that would be a great addition any in case. ==== Install Fonts: Linux ==== * Clone the repogit clone https://github.com/powerline/fonts.git * Installcd fonts ./install * Quit your terminal and re-open it * Configure your terminal to use a PowerLine regular font * **GNOME Terminal** * Edit > Profile Preferences * Check "Custom font", then click the font name * Browse to and select a Powerline font (such as "Meslo LG L for Powerline Regular") * **Konsole (KDE Terminal)** * Settings > Manage Profiles * Click either "Edit Profile" or "New Profile" * Click the "Appearance" tab, at the bottom click "Select Font..." * Browse to and select a Powerline font. (such as "Meslo LG L for Powerline") * Click "OK" \\ **Note**: If Symbols aren't displaying properly, close the terminal application and re-open it for the fonts to load. (And verify you are using a Powerline font) \\ ==== Install Fonts: Windows ==== * Open a web browser to the git repo: https://github.com/powerline/fonts * Click the "Clone or download" drop down, then click "Download ZIP" * Extract somewhere temporary * Copy and paste all of the .ttf files from "Meslo Slashed" into C:\Windows\Fonts\ * You will be prompted if you would like to install the fonts \\ * **Configure Putty/Kitty** to use the new font * Open Putty/Kitty (optionally, load a saved session's settings) * Settings > Window > Appearance * Under Font settings * Check the box "Allow selection of variable-pitch fonts" * Click the "Change" button * Browse to "Meslo LG L for Powerline" and click "OK" * Save the session settings \\ * **Configure colors** (Solarized Dark) * Open Putty/Kitty (optionally, load a saved session's settings) * Settings > Window > Colours * Select each color to adjust and change the RGB values "Colour0"="131,148,150" (Default Foreground) "Colour1"="147,161,161" (Default Bold Foreground) "Colour2"="0,43,54" (Default Background) "Colour3"="7,54,66" (Default Bold Background) "Colour4"="0,43,54" (Cursor Text) "Colour5"="238,232,213" (Cursor Colour) "Colour6"="7,54,66" (ANSI Black) "Colour7"="0,43,56" (ANSI Black Bold) "Colour8"="220,50,47" (ANSI Red) "Colour9"="203,75,22" (ANSI Red Bold) "Colour10"="133,153,0" (ANSI Green) "Colour11"="88,110,117" (ANSI Green Bold) "Colour12"="181,137,0" (ANSI Yellow) "Colour13"="101,123,131" (ANSI Yellow Bold) "Colour14"="38,139,210" (ANSI Blue) "Colour15"="131,148,150" (ANSI Blue Bold) "Colour16"="211,54,130" (ANSI Magenta) "Colour17"="108,113,196" (ANSI Magenta Bold) "Colour18"="42,161,152" (ANSI Cyan) "Colour19"="147,161,161" (ANSI Cyan Bold) "Colour20"="238,232,213" (ANSI White) "Colour21"="253,246,227" (ANSI White Bold) * Click Apply * Save settings to session * Alternative registry imports: https://github.com/altercation/solarized/tree/master/putty-colors-solarized ---- ===== Install Plugin: Syntax Highlighter ===== The syntax highlighter plugin adds syntax highlighting to the commands you are typing. * Clone the repogit clone https://github.com/zsh-users/zsh-syntax-highlighting.git * Copy or move it into your oh-my-zsh plugins directorymv zsh-syntax-highlighting ~/.oh-my-zsh/plugins/ * Enable the plugin in your zshrc configvim ~/.zshrc # Add plugins to enable space separated plugins=(git python vi-mode z zsh-syntax-highlighting) * Re-read config filesource ~/.zshrc ----