A lot of the tools you use are probably super old! That's great cause they work no problem, but they might not be as pretty as we want them. All of the following are tools I use to replace default tooling that is preinstalled on most computers.
cat
=> bat
A cat(1) clone with wings.. So much nicer!
brew install bat
brew install bat
Make sure to alias cat
in your ~/.zshrc
.
alias cat="bat"
alias cat="bat"
ls
=> exa
A modern version of ‘ls’.. Pretty colors!
brew install exa
brew install exa
Make sure to alias cat
in your ~/.zshrc
.
alias ls="exa" # Show lots of info, even with icons! alias lss="exa -alh --icons --git-ignore"
alias ls="exa" # Show lots of info, even with icons! alias lss="exa -alh --icons --git-ignore"
git diff
=> delta
Strives to make your diffs human readable instead of machine readable..
brew install git-delta
brew install git-delta
Tell git to use delta
for all diffs in your ~/.gitconfig
:
[pager] diff = delta log = delta reflog = delta show = delta [delta] features = side-by-side line-numbers decorations relative-paths hyperlinks file-style = yellow auto italic file-decoration-style = white ol dim line-numbers-left-style = white auto dim line-numbers-right-style = white auto dim hunk-header-style = omit syntax-theme = TwoDark [interactive] diffFilter = delta --color-only
[pager] diff = delta log = delta reflog = delta show = delta [delta] features = side-by-side line-numbers decorations relative-paths hyperlinks file-style = yellow auto italic file-decoration-style = white ol dim line-numbers-left-style = white auto dim line-numbers-right-style = white auto dim hunk-header-style = omit syntax-theme = TwoDark [interactive] diffFilter = delta --color-only
bash
and zsh
ship with a nice search history (press ctrl + r
). But it's old and ugly. For a better experience I install fzf.
brew install fzf # To install useful key bindings and fuzzy completion: $(brew --prefix)/opt/fzf/install
brew install fzf # To install useful key bindings and fuzzy completion: $(brew --prefix)/opt/fzf/install
cd
=> z
(zoxide)Easily jump to directories. Just supply a part of the path and it will change the directory to the last matching path. I still use cd
but I use z
to jump between projects.
brew tap ajeetdsouza/zoxide brew install zoxide
brew tap ajeetdsouza/zoxide brew install zoxide
And add some config in your ~/.zshrc
.
eval "$(zoxide init zsh)"
eval "$(zoxide init zsh)"
zoxide
ships with a zi
alias. This allows you to fuzzy search though all possible directory matches.