First you need to install make
sudo dnf install make
And deploy what you want, like:
make zsh
To show available target, use:
make list
My .zshenv
and .bash_profile
are symlink of .profile
.
I use zinit
for managing my .zshrc
. It's blazing fast. Usually I get startup time around 130-290 ms.
This is the time I got when writing this README
➜ zinit times
Plugin loading times:
3 ms - zinit-zsh/z-a-rust
2 ms - zinit-zsh/z-a-as-monitor
3 ms - zinit-zsh/z-a-patch-dl
5 ms - zinit-zsh/z-a-bin-gem-node
8 ms - paulmelnikow/zsh-startup-timer
26 ms - denysdovhan/spaceship-prompt
1 ms - zshrc.d/spaceship-config.zsh
2 ms - zshrc.d/keybinding.zsh
1 ms - OMZ::lib/history.zsh
2 ms - zshrc.d/aliases
2 ms - zshrc.d/function.zsh
2 ms - OMZ::lib/completion.zsh
2 ms - OMZ::lib/termsupport.zsh
2 ms - OMZ::plugins/command-not-found
1 ms - junegunn/fzf (command)
1 ms - ClementTsang/bottom (command)
1 ms - BurntSushi/ripgrep (command)
1 ms - dandavison/delta (command)
1 ms - sharkdp/bat (command)
1 ms - sharkdp/fd (command)
1 ms - ogham/exa (command)
1 ms - nivekuil/rip (command)
1 ms - hackerb9/lsix (command)
1 ms - dylanaraps/paleta (command)
1 ms - dylanaraps/pfetch (command)
1 ms - jarun/nnn (command)
3 ms - zsh-users/zsh-autosuggestions
3 ms - zdharma/history-search-multi-word
12 ms - wfxr/forgit
2 ms - romkatv/zsh-prompt-benchmark
28 ms - zdharma/fast-syntax-highlighting
2 ms - zshrc.d/plugins-config
Total: 0.123 sec
These are the zsh plugins that I use:
- zsh-startup-timer
- spaceship-prompt - Nice zsh prompt theme
- zsh-autosuggestion - Fish-like autosuggestions for zsh
- history-search-multi-word - Multi-word history searching for Zsh
- forgit - A utility tool powered by fzf for using git interactively
- fast-syntax-highlighting
I use directory zshrc.d
to place my other zsh configuration, such as aliases, keybinding, and plugin's config.
-
You can see all the keybinding that I use with
bindkey -M main
-
Function - Useful functions
-
Plugins config - Config for plugin that has few config option
I plan to dump all plugins's config that has few config option in this file. For now I only use it for
fast-syntax-highlighting
to display bracket highlighting.
One of the reason I like zinit
is the possibility to manage binaries. So If a package hasn't available in my distro's repo, I just grab the prebuilt binary or compile it with zinit
.
This is the CLI program list that I use with zinit
:
- fzf - A command-line fuzzy finder
- ripgrep -
grep
but respect your gitignore - delta - A viewer for git and diff output
- bat -
cat
but prettier - fd -
find
but faster and more user friendly - exa -
ls
but better - rip - Send your file to graveyard
- nnn - n³ The unorthodox terminal file manager
- lsix -
ls
but for image using sixel - pfetch - A pretty system information tool
- paleta - Generate ANSI escape code for colorscheme