- Delta
- Lazy git
- Git open
- Git standup
- Gitsome
- TIG
- Alias-tips
- Annie
- AG
- BAT
- Bottom
- BYOBU
- Broot
- CLOC
- Curlie
- Df
- Dive
- Dog
- Dust
- Exa
- Fig Autocomplete
- FPP
- FX
- FZF
- Glow
- grex
- Hotel
- Hyperfine
- itermocil
- JQ
- K
- LNAV
- Mac-cli
- ncdu
- Oha
- Ranger
- Ripgrep
- TTY gif
- Viu
- yq
- Z
- Zooxide
- Liste de plugin
- git-extras
- colorize
- history
- history-substring$
- Jira
- Vscode
- zsh-autosuggestions
- zsh-syntax-highlighting
- zsh-syntax-highlighting-filetypes
- Nano
- git_pull_all_repos
- Update all local repos
- Switch all local repos to master
- Update ruby projects
- Count LOC of each project
- Show various information about local rests
- git_dig
- fe-fuzzy file edit
- lsl
- myip
- reload
- reload_access_public_key
- sub/vis
- select_branch_or_tag
- show-version
- yarndeps
- A syntax-highlighting pager for git, diff, and grep output https://github.com/dandavison/delta
- A simple terminal UI for git commands, written in Go with the gocui library. https://github.com/jesseduffield/lazygit#installation
- Type
git open
to open the repo, file, commit, pr .. in your browser.https://github.com/paulirish/git-open
- To list all its commits in several repos to facilitate standup/daily https://github.com/kamranahmedse/git-standup
- https://github.com/donnemartin/gitsome aims to supercharge your standard git/shell interface by focusing on:
- Improving ease-of-use
- Increasing productivity
- Text mode interface for git
- https://jonas.github.io/tig/
- https://github.com/jonas/tig
- Suggests an existing alias if you type the commandhttps://github.com/djui/alias-tips
- Vidéo downloader tool in Go https://github.com/iawia002/annie
- To search through code/files. super fast!! https://github.com/ggreer/the_silver_searcher
- ~overlay of the
cat
command with various optimizationshttps://github.com/sharkdp/bat
- Process visualization. Equivalent to htophttps://github.com/ClementTsang/bottom
- Byobu is an enhancement layer to GNU Screen, the text mode terminal multiplexer. Byobu allows system information and notifications to be displayed on two lines at the bottom of a terminal session.
- Site : https://www.byobu.org/
- Cheat sheet : https://gist.github.com/jshaw/5255721
- A new way to see and navigate directory trees : https://github.com/Canop/broot
- Tool to count the number of lines of code per techno https://github.com/AlDanial/cloc
- To be coupled with a bash function
cloc-all-repos(){
cd /PATH/TO/YOUR/REPOSITORIES/DIRECTORY/PARENT
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; cloc .); done
}
- The power of curl, the ease of use of httpie.https://github.com/rs/curlie
- Disk Usage/Free Utility - a better 'df' alternative https://github.com/muesli/duf
- To explore all layers of a docker imagehttps://github.com/wagoodman/dive
- Like
dig
but prettierhttps://github.com/ogham/dog
- A more intuitive version of du (disk usage) in rusthttps://github.com/bootandy/dust
- Modern LS https://the.exa.website/
- Autocomplete https://github.com/withfig/autocomplete
- Simple command line tool that solves the perpetual problem of selecting files out of bash outputhttps://github.com/facebook/PathPicker
- Command-line tool and terminal JSON viewerhttps://github.com/antonmedv/fx
- Command line fuzzy finderhttps://github.com/junegunn/fzf
- Render markdown on the CLIhttps://github.com/charmbracelet/glow
- https://itsfoss.com/glow-cli-tool-markdown/
- To manage regexhttps://github.com/pemistahl/grex
- A simple process manager for developers. Start apps from your browser and access them using local domainshttps://github.com/typicode/hotel
- Benchmark any command : https://github.com/sharkdp/hyperfine
- itermq setup configuration backup system https://github.com/TomAnthony/itermocil
- ~sed for json https://stedolan.github.io/jq/
- Directory listings for zsh with git featureshttps://github.com/supercrabtree/k
- Log navigation tool : https://lnav.org/
- CLI to manage lots of things on the Mac https://github.com/guarinogabriel/Mac-CLI
- faire du ménage dans l’espace disque, aide à trouver immédiatement les repertoires ou fichiers les plus volumineux
- HTTP load generator, inspired by rakyll/hey with tui animation (written in RUST)
- https://github.com/hatoo/oha
- File manager in console. Super handy for quickly navigating https://github.com/ranger/ranger
- Recurisve search for regexhttps://github.com/BurntSushi/ripgrep
- Terminal screen recorderhttps://github.com/icholy/ttygif
- To view images in terminalhttps://github.com/atanunq/viu
- Like jq for yamlhttps://github.com/kislyuk/yq
- Terminal navigation optimization based on browsing frequencyhttps://github.com/rupa/z
- Like z but more efficient https://github.com/ajeetdsouza/zoxide
- https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins
- https://github.com/orgs/zsh-users/repositories?type=source
- https://opensourcelibs.com/libs/oh-my-zsh-plugin
- This plugin provides completion definitions for some of the commands defined by git-extras. https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git-extras
- Output colorization https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colorize
- Provides a couple of convenient aliases for using the
history
command to examine your command line history.https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history
- Opening file in vscode https://opensourcelibs.com/lib/zsh-vscode
sudo!!
executes the last command with sudohistory
to display command history!123
to replay command 123
open.
to open the current folder in the finderCTRL + R
: search in command history
Installation with HomeBrew, alias depending on Mac M1 or not to be placed in .zshrc
, config to be put in .nanorc
brew install nano
alias nano='/opt/homebrew/bin/nano'
alias nano='/usr/local/bin/nano'
touch ~/.nanorc
nano ~/.nanorc
set tabsize 4
set linenumbers
set autoindent
set mouse
set trimblanks
set titlecolor white,red
set statuscolor yellow
set numbercolor yellow
set keycolor cyan
set functioncolor cyan
set constantshow
include /usr/local/share/nano/\*.nanorc
- To pull multiple branches (master/develop/current) from all repos in a folder
git-pull-all-repos(){
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; branch=$(git rev-parse --abbrev-ref HEAD); git checkout master && git pull --ff; git checkout develop && git pull --$
}
git-pull-all-repos(){
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; branch=$(git rev-parse --abbrev-ref HEAD); git checkout master && git pull --ff; git checkout develop && git pull --ff; git checkout $branch; ); done
}
git-all-repos-on-master(){
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; git checkout master;); done
}
update-all-ruby-repos(){
cd /PATH/TO/REPOS
FILE=Gemfile
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; if \[\[ -f "$FILE" \]\]; then bundle update; rake db:migrate; fi); done
}
cloc-all-repos(){
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo '-----------------------------'; echo $i; cd $i/..; cloc .); done
}
get-all-repos-infos > ~/Desktop/git-repos-infos.txt
get-all-repos-infos(){
cd /PATH/TO/REPOS
for i in \*/.git; do ( echo -e '\\n////////////////////////////////////////\\n'; echo $i; echo -e '\\n////////////////////////////////////////\\n'; cd $i/..; echo -e "\\n All authors : \\n"; git authors --list; git summary; ) done
}
- To browse inside git logs
function git-dig {
git log --pretty=format:'%Cred%h%Creset - %Cgreen(%ad)%Creset - %s %C(bold blue)<%an>%Creset' --abbrev-commit --date=short --grep "$1" -- $2
}
fe() {
local file
file=$(fzf --query="$1" --select-1 --exit-0)
\[ -n "$file" \] && ${EDITOR:-nvim} "$file"
}
- Display of the complete current folder pimped with exa
alias lsl="exa -abghHliS"
- Displaying your IP
alias myip='curl http://ipecho.net/plain; echo'
- allows you to update/repair your current shell (like new alias, lib, dependency or when you broke your termcaps)
alias reload="source ~/.zshrc && hash -r && reset"
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa
- open a folder in the text editor
alias sub="open -a 'Sublime Text'"
alias vis="open -a 'Visual Studio Code'"
- To facilitate branch/tag selection
select\_branch\_or\_tag() {
local tags branches target
tags=$(
git tag | awk '{print "\\x1b\[31;1mtag\\x1b\[m\\t" $1}') || return
branches=$(
git branch --all | grep -v HEAD |
sed "s/.\* //" | sed "s#remotes/\[^/\]\*/##" |
sort -u | awk '{print "\\x1b\[34;1mbranch\\x1b\[m\\t" $1}') || return
target=$(
(echo "$tags"; echo "$branches") |
fzf-tmux -l30 -- --no-hscroll --ansi +m -d "\\t" -n 2 $argv) || return
echo "$target" | awk '{print $2}'
}
- Good old print versions of the package managers used
alias show-versions="echo 'RUBY : $(ruby -v)\nNODE : $(node --version) \nNPM : $(npm --version)\nYARN: $(yarn --version)'"
function yarndeps() {
# preload installed dependencies, remove first and last lines
roster="$(yarn list --depth 0 2>/dev/null | awk '{print $2}' | sed '1d;$d')"
# match each dependency (from package.json) to the preloaded list
while IFS= read -r dependency; do
echo "${roster}" | GREP\_OPTIONS='' grep --color=never "^${dependency}@"
done <<< "$(jq -r '.dependencies,.devDependencies|keys\[\]' package.json)"
}