<commit_before><img src="https://raw.githubusercontent.com/WieWaldi/.dotfiles/master/img/RZ-Amper_Logo_135x135.png" align="left" width="135px" height="135px" />

### Zsh
> *Some notes about Zsh*

[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)

<br />

### Zsh dotfiles
To configure Zsh for your user’s session, you can use the following files:  
 - $ZDOTDIR/.zshenv
 - $ZDOTDIR/.zprofile
 - $ZDOTDIR/.zshrc
 - $ZDOTDIR/.zlogin
 - $ZDOTDIR/.zlogout

Zsh read these files in the following order:  
1. `.zshenv` - Should only contain user’s environment variables.
2. `.zprofile` - Can be used to execute commands just after logging in.
3. `.zshrc` - Should be used for the shell configuration and for executing commands.
4. `.zlogin` - Same purpose than .zprofile, but read just after .zshrc.
5. `.zlogout` - Can be used to execute commands when a shell exit.
### Zsh Config Path
By default, Zsh will try to find the user’s configuration files in the $HOME
directory. You can change it by setting the environment variable `$ZDOTDIR`.

Personally, I like to have all my configuration files in $HOME/.config. To do so:
1. I set the variable `$XDG_CONFIG_HOME` as following: `export XDG_CONFIG_HOME="$HOME/.config"`.
2. set the environment variable `$ZDOTDIR`: `export ZDOTDIR="$XDG_CONFIG_HOME/zsh".`
3. I put the file `.zshrc` in the `$ZDOTDIR` directory.

Most software will use the path in `$XDG_CONFIG_HOME` to install their own config
files. As a result, you’ll have a clean `$HOME` directory.  
Unfortunately, the file .zshenv needs to be in your home directory.
It’s where you’ll set `$ZDOTDIR`. Then, every file read after `.zshenv` can go
into your `$ZDOTDIR directory`.

## Links/URLs/Credits  
[riptotarial.com Getting started with zsh](https://riptutorial.com/zsh) Some Remarks  
[reddit.com A Guide to the Zsh Auto-Completion With Examples](https://www.reddit.com/r/zsh/comments/nm2vun/a_guide_to_the_zsh_autocompletion_with_examples/)  
[The Valuable Dev](https://thevaluable.dev/zsh-install-configure-mouseless/) Configuring Zsh Without Dependencies  
[flowblok's blog](https://blog.flowblok.id.au/2013-02/shell-startup-scripts.html) Shell startup scripts  
[github.com/zsh-users](https://github.com/zsh-users/zsh/blob/f9e9dce5443f323b340303596406f9d3ce11d23a/Misc/vcs_info-examples) vcs_info Examples
[arjanvandergaag.nl](https://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html) Customize your ZSH prompt with vcs_info

## Version
The option to create releases on GitHub is pretty nice. I really do like it since it give me easy access to all the files
without git cloning the complete repository.  

Version 1.0<commit_msg>Minor issues fixed.<commit_after><img src="https://raw.githubusercontent.com/WieWaldi/.dotfiles/master/img/RZ-Amper_Logo_135x135.png" align="left" width="135px" height="135px" />

### Zsh
> *Some notes about Zsh*

[![MIT Licence](https://raw.githubusercontent.com/WieWaldi/badges/master/badges/licence_mit.svg)](https://opensource.org/licenses/mit-license.php)

<br />

### Zsh dotfiles
To configure Zsh for your user’s session, you can use the following files:  
 - $ZDOTDIR/.zshenv
 - $ZDOTDIR/.zprofile
 - $ZDOTDIR/.zshrc
 - $ZDOTDIR/.zlogin
 - $ZDOTDIR/.zlogout

Zsh read these files in the following order:  
 1. `.zshenv` - Should only contain user’s environment variables.
 2. `.zprofile` - Can be used to execute commands just after logging in.
 3. `.zshrc` - Should be used for the shell configuration and for executing commands.
 4. `.zlogin` - Same purpose than .zprofile, but read just after .zshrc.
 5. `.zlogout` - Can be used to execute commands when a shell exit.
### Zsh Config Path
By default, Zsh will try to find the user’s configuration files in the $HOME
directory. You can change it by setting the environment variable `$ZDOTDIR`.

Personally, I like to have all my configuration files in $HOME/.config. To do so:
 1. I set the variable `$XDG_CONFIG_HOME` as following: `export XDG_CONFIG_HOME="$HOME/.config"`.
 2. Set the environment variable `$ZDOTDIR`: `export ZDOTDIR="$XDG_CONFIG_HOME/zsh".`
 3. I put the file `.zshrc` in the `$ZDOTDIR` directory.

Most software will use the path in `$XDG_CONFIG_HOME` to install their own config
files. As a result, you’ll have a clean `$HOME` directory. Unfortunately, the
file .zshenv needs to be in your home directory. It’s where you’ll set
`$ZDOTDIR`. Then, every file read after `.zshenv` can go into your `$ZDOTDIR
directory`.

## Links/URLs/Credits  
[riptotarial.com Getting started with zsh](https://riptutorial.com/zsh) Some Remarks  
[reddit.com A Guide to the Zsh Auto-Completion With Examples](https://www.reddit.com/r/zsh/comments/nm2vun/a_guide_to_the_zsh_autocompletion_with_examples/)  
[The Valuable Dev](https://thevaluable.dev/zsh-install-configure-mouseless/) Configuring Zsh Without Dependencies  
[flowblok's blog](https://blog.flowblok.id.au/2013-02/shell-startup-scripts.html) Shell startup scripts  
[github.com/zsh-users](https://github.com/zsh-users/zsh/blob/f9e9dce5443f323b340303596406f9d3ce11d23a/Misc/vcs_info-examples) vcs_info Examples  
[github.com/leath-dub](https://github.com/leath-dub/dotfiles/tree/master/.config/zsh) Some guys dotfiles  
[arjanvandergaag.nl](https://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html) Customize your ZSH prompt with vcs_info  
{'fraction_non_alphanumeric': 0.1175925925925926, 'fraction_numerical': 0.020925925925925924, 'mean_word_length': 4.4776876267748476, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 19, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4513653', 'n_tokens_mistral': 1920, 'n_tokens_neox': 1858, 'n_words': 553}