I have recently started using Vim after using Emacs for a while. I have Linux machine and a mac laptop at home and a Windows machine at work. I code mostly in Python and C++ and I got frustrated when every time when I switch my machine I have to work in totally different environment. I use CMake to produce Microsoft Visual Studio project files, so I don’t have to use Microsoft Visual Studio itself. Hence, I’ve started using MSYS2.
In msys2 you can install tmux using:

pacman -S tmux


YouCompleteMe should be compiled and it is NOT compatible with msys2 python or Anaconda. I have installed curl and git using choco in PowerShell. I git cloned YouCompleteMe and went there and ran

python install.py --all


remember I had GoLang and NodeJS (choco install golang and choco install nodejs) and Visual Studio already installed. Then, I copied this folder to my ~/.vim in msys2. Under C:\msys64\home\username\.vim\bundle\YouCompleteMe\third_party\ycmd there is a file named:
PYTHON_USED_DURING_BUILDING
In this file it refers to the python that is used for compilation. You should chang it to msys compatible path similar to:
/C/Users/USER_NAME/AppData/Local/Continuum/anaconda3/envs/CONDA_ENV/python.exe

## Some useless notes!

### Comparing two files:

If you already have two panes open, you can
:diffthis
on each of them and then use:

• ]c Go to next block of diff
• dp Push this version of the current block into the other pane
• do Use the block from the other pane in this pane

You can then turn off diff mode in each pane with the vim command
:diffoff

### Do you really need Caps key?!

• I use SharpKeys to change my Caps key to Ctrl key, because I barely use caps.
• For mac you can do this using System Preferences>>Keyboard>>Modifier Keys
• In Gnome you can do this using Keyboard>>Layouts>>Options>>Ctrl position>>Caps Lock as Ctrl
Now that you have mapped Ctrl to an easier location you can use Ctrl+[ instead of Esc.

### Anaconda in MSYS2

In case you are interested your Anaconda Python Environments in msys2 add the following to your ~/.bash_profile (change username and anaconda path to yours)

# >>> conda initialize >>>  # !! Contents within this block are managed by 'conda init' !!  eval "$('/c/Users/USER-NAME/anaconda3/Scripts/conda.exe' 'shell.bash' 'hook')" # <<< conda initialize <<<  ### Starting tmux by default add the following to ~/.bash_profile or ~/.bashrc to start terminal or msys2 with tmux by default: if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then    tmux attach -t default || tmux new -s defaultfi


### Looking for Fonts?

Here you can find some good fonts:
http://mozilla.github.io/Fira/

### My minimal dotfiles

Here is my .vimrc:
Here is my .tmux.conf: