From af562b8300747bdd7e98f512020791f52595dc2f Mon Sep 17 00:00:00 2001 From: Julien Oculi Date: Tue, 4 Jun 2024 16:10:55 +0200 Subject: [PATCH] feat: improve `.zshrc` config with useful plugins and aliases --- zsh/zsh/.zshrc | 134 +++++++++++++++++-------------------------------- 1 file changed, 46 insertions(+), 88 deletions(-) diff --git a/zsh/zsh/.zshrc b/zsh/zsh/.zshrc index f2e7e95..f9dc859 100644 --- a/zsh/zsh/.zshrc +++ b/zsh/zsh/.zshrc @@ -1,101 +1,59 @@ -# If you come from bash you might have to change your $PATH. -# export PATH=$HOME/bin:/usr/local/bin:$PATH +# The following lines were added by compinstall +zstyle ':completion:*' completer _complete _ignored _approximate +zstyle :compinstall filename '/home/julien/.zshrc' + +autoload -Uz compinit +compinit +# End of lines added by compinstall + +################################ +# Plugins & Modules +################################ + +# Oh-my-zsh +plugins=( + sudo + zsh-syntax-highlighting + zsh-autosuggestions + fzf + zoxide +) -# Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" +source $ZSH/oh-my-zsh.sh + +################################ +# Env +################################ -# Set name of the theme to load --- if set to "random", it will -# load a random theme each time oh-my-zsh is loaded, in which case, -# to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes ZSH_THEME="ys" -# Set list of themes to pick from when loading at random -# Setting this variable when ZSH_THEME=random will cause zsh to load -# a theme from this variable instead of looking in $ZSH/themes/ -# If set to an empty array, this variable will have no effect. -# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) +################################ +# Aliases +################################ -# Uncomment the following line to use case-sensitive completion. -# CASE_SENSITIVE="true" +# Windows clear alias +alias cls="clear" -# Uncomment the following line to use hyphen-insensitive completion. -# Case-sensitive completion must be off. _ and - will be interchangeable. -# HYPHEN_INSENSITIVE="true" +# Replace ls with exa +alias ls="eza --hyperlink --icons" +alias ll="ls --header --git -l -a" +alias lt="ll -T -I '.?*|node_module|dist'" -# Uncomment one of the following lines to change the auto-update behavior -# zstyle ':omz:update' mode disabled # disable automatic updates -# zstyle ':omz:update' mode auto # update automatically without asking -# zstyle ':omz:update' mode reminder # just remind me to update when it's time +# Replace cat with bat +alias cat="bat --theme=gruvbox-dark" -# Uncomment the following line to change how often to auto-update (in days). -# zstyle ':omz:update' frequency 13 +# File previews for fzf using bat +alias fp="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'" -# Uncomment the following line if pasting URLs and other text is messed up. -# DISABLE_MAGIC_FUNCTIONS="true" +# Zoxide alias +alias z=zoxide -# Uncomment the following line to disable colors in ls. -# DISABLE_LS_COLORS="true" +################################ +# Utilities +################################ -# Uncomment the following line to disable auto-setting terminal title. -# DISABLE_AUTO_TITLE="true" - -# Uncomment the following line to enable command auto-correction. -# ENABLE_CORRECTION="true" - -# Uncomment the following line to display red dots whilst waiting for completion. -# You can also set it to another string to have that shown instead of the default red dots. -# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" -# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) -# COMPLETION_WAITING_DOTS="true" - -# Uncomment the following line if you want to disable marking untracked files -# under VCS as dirty. This makes repository status check for large repositories -# much, much faster. -# DISABLE_UNTRACKED_FILES_DIRTY="true" - -# Uncomment the following line if you want to change the command execution time -# stamp shown in the history command output. -# You can set one of the optional three formats: -# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" -# or set a custom format using the strftime function format specifications, -# see 'man strftime' for details. -# HIST_STAMPS="mm/dd/yyyy" - -# Would you like to use another custom folder than $ZSH/custom? -# ZSH_CUSTOM=/path/to/new-custom-folder - -# Which plugins would you like to load? -# Standard plugins can be found in $ZSH/plugins/ -# Custom plugins may be added to $ZSH_CUSTOM/plugins/ -# Example format: plugins=(rails git textmate ruby lighthouse) -# Add wisely, as too many plugins slow down shell startup. -plugins=(git) - -source $ZSH/oh-my-zsh.sh - -# User configuration - -# export MANPATH="/usr/local/man:$MANPATH" - -# You may need to manually set your language environment -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else -# export EDITOR='mvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - -# Set personal aliases, overriding those provided by oh-my-zsh libs, -# plugins, and themes. Aliases can be placed here, though oh-my-zsh -# users are encouraged to define aliases within the ZSH_CUSTOM folder. -# For a full list of active aliases, run `alias`. -# -# Example aliases -# alias zshconfig="mate ~/.zshrc" -# alias ohmyzsh="mate ~/.oh-my-zsh" +meteo() { + curl "wttr.in/${1:-"Gradignan"}?lang=fr" +}