" Specify a directory for plugins " - For Neovim: stdpath('data') . '/plugged' " - Avoid using standard Vim directory names like 'plugin' call plug#begin('~/.vim/plugged') "" Syntax Linting/Checking " Ale: Runs fast and works well. Plug 'dense-analysis/ale' "" GUI " NERDTree: Sidebar file tree Plug 'scrooloose/nerdtree' Plug 'Xuyuanp/nerdtree-git-plugin' " Airline: Some file infos Plug 'vim-airline/vim-airline' "" Indexing " Fuzzy Finder: Quickly find files by name without navigating " Plug 'junegunn/fzf' Plug 'kien/ctrlp.vim' "" Input optimization " Vim Surround: Quickly surround stuff Plug 'tpope/vim-surround' " Initialize plugin system call plug#end() "" NERDTree config " Autostart NERDTree on start autocmd vimenter * NERDTree " Close vim if the only window left open is a NERDTree autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " ALE config " Enable autocomplete let g:ale_completion_enabled = 1 set completeopt=menu,menuone,preview,noselect,noinsert