Awesome
my ZSH <sub>[🌊🐚]</sub>
<figure> <img width="767" alt="prompt example" src="https://github.com/qoomon/my-zsh/assets/3963394/75aec48b-7c98-47db-8806-75e3473f0766"> <figcaption> <p align="right"><sup><sup> Terminal - <a href="https://iterm2.com/">iTerm2</a>, Colors - <a href="https://github.com/qoomon/zsh-theme-qoomon/blob/main/qoomon.itermcolors">qoomon</a> </sup></sup></p> </figcaption> </figure>Features
- Colored Prompt
- qoomon Theme
- Display Exit Code if not 0
- Display Git informations of working directory (Branch name and Status Indicators)
- Syntax Highlighting Plugin
- qoomon Theme
- Completions
- fzf-tab fzf completion; hit
Tab
- zsh-history-search history fzf completion; hit
Ctrl
+Space
- fzf-tab fzf completion; hit
- Search History
- by Substrings; hit
Arrow Up
- Improved Version of Reverse History Search; search with fzf; hit
Ctrl
+R
- by Substrings; hit
- Jump to visited Directories with zjump; command
j <PART_OF_DIR_PATH>...
- Handy Util Functions and Aliases, see
modules/general.zsh
- Config Plugin
zconfig cd
- cd to$ZCONFIG_HOME
zconfig edit [EDITOR]
- open config in$EDITOR
or in given editorzconfig update
- updates config and zgem plugins
- Handy optional Utils, see Utils Directory; load all by
zgem bundle
or specific util byzgem bundle <UTIL_NAME>
- and a lot more..., see Configuration Modules
Installation
- Install zsh
- Install fzf, it's mandatory to make following plugins work
- Install my-zsh
git clone --depth 1 https://github.com/qoomon/my-zsh.git "$HOME/.zsh" && $HOME/.zsh/install.zsh
- Install qoomon Colors Scheme [optional]
- for iTerm2
- for macOS Terminal
Configuration Structure
Entrypoint zshrc.zsh
Modules
Plugins
- zconfig
- zjump
j
- directory history search with fzf
- zsh-history-search
- zsh-history-substring-search
UP/DOWN
- circle through command history and filter by current command line- zsh-syntax-highlighting
- zsh-completions
- zsh-theme-qoomon
- zsh-lazyload
- e.g.
lazyload nvm -- 'source "$(brew --prefix nvm)/nvm.sh"'
- e.g.
Misc Zsh Know-How
Shortcuts
-
CTRL + A
Move to the beginning of the line -
CTRL + E
Move to the end of the line -
CTRL + [left arrow]
Move one word backward (on some systems this isALT + B
) -
CTRL + [right arrow]
Move one word forward (on some systems this isALT + F
) -
CTRL + X
->CTRL + E
Edit command line within $EDITOR -
CTRL + _
Undo last input -
CTRL + K
Clear the characters on the line after the current cursor position -
CTRL + U
Clear the entire line -
ESC + [backspace]
orCTRL + W
Delete the word in front of the cursor -
ESC + D
Delete the word after the cursor -
CTRL + W
delete last word -
ESC + Q
Push current line on a stack until next command line -
CTRL + C
Terminate/kill current foreground process -
CTRL + Z
Suspend/stop current foreground process -
fg
Run process again in foreground -
bg
Run process again in background -
CTRL + S
Stop output to screen -
CTRL + Q
Re-enable screen output -
ESC + H
Open man page for current command -
CTRL + R
Search history -
CTRL + G
Escape from search mode -
CTRL + L
Clear screen
Commands
vared <VARIABLE>
On-the-fly editing of<VARIABLE>
!!
Execute last command in history!<PEFIX>
Execute last command in history beginning with<PEFIX>
!<PEFIX>:p
Print last command in history beginning with<PEFIX>
Sources