==== Install plugin installer Vundle ====
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
==== Vim config .vimrc ====
set nocompatible " be iMproved, required
filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-python/python-syntax'
Plugin 'Vimjas/vim-python-pep8-indent'
Plugin 'davidhalter/jedi-vim'
Plugin 'dense-analysis/ale'
Plugin 'tpope/vim-surround'
Plugin 'preservim/nerdtree'
Plugin 'tpope/vim-fugitive'
Plugin 'frazrepo/vim-rainbow'
Plugin 'vim-airline/vim-airline'
Plugin 'mattn/emmet-vim'
Plugin 'vim-autoformat/vim-autoformat'
Plugin 'nathangrigg/vim-beancount'
Plugin 'tmhedberg/SimpylFold'
Plugin 'vim-syntastic/syntastic'
Plugin 'powerline/powerline'
Plugin 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plugin 'junegunn/fzf.vim'
Plugin 'ycm-core/YouCompleteMe'
Plugin 'lervag/vimtex'
call vundle#end() " required
filetype plugin indent on " required
let g:jedi#completions_enabled = 1
let g:jedi#popup_on_dot = 1
let g:jedi#show_call_signatures = '0'
let g:jedi#use_tabs_not_buffers = 0
let g:ale_linters = {'python': ['pylint']}
let g:ale_fix_on_save = 1
let g:formatdef_latexindent = '"latexindent -"'
let g:ale_fixers = {'python': ['autopep8']}
let g:ale_sign_error = '>>'
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
nnoremap n :NERDTreeFocus
nnoremap :NERDTree
nnoremap :NERDTreeToggle
nnoremap :NERDTreeFind
filetype plugin on
syntax on
set number
noremap :Autoformat
"split navigations
nnoremap
nnoremap
nnoremap
nnoremap
" Enable folding
set foldmethod=indent
set foldlevel=99
" Enable folding with the spacebar
nnoremap za
au BufNewFile,BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
set encoding=utf-8
let python_highlight_all=1
set clipboard=unnamed
set background=dark
colorscheme gruvbox
set shiftwidth=4 smarttab
set expandtab
set tabstop=8 softtabstop=0
set hlsearch
set spell
set spelllang=en,pl
hi clear SpellBad
hi SpellBad cterm=underline
set backspace=indent,eol,start
let g:fzf_vim = {}
let g:ycm_seed_identifiers_with_syntax = 1
set completeopt=menu
" make YCM compatible with UltiSnips (using , )
let g:ycm_key_list_select_completion=[]
let g:ycm_key_list_previous_completion=[]
" commands mappings
nnoremap :pclose:silent YcmCompleter GetDoc
nnoremap :pclose
nnoremap :YcmCompleter GetType
nnoremap :YcmCompleter GoTo
nnoremap :YcmCompleter GoToReferences
nnoremap :YcmCompleter FixIt
let g:ycm_use_clangd = 1
" run python script
nnoremap :echo system('python3 "' . expand('%') . '"')
"vim latex
let g:vimtex_view_method = 'zathura'
let g:vimtex_compiler_method = 'latexrun'
let maplocalleader = ","
==== Install formatters ====
sudo apt install python3-autopep8
==== Install linter ===
sudo apt install pylint
==== Enable spell ====
- Start vim
- type :set spell
and confirm create location for spell files
==== Theme ====
[[https://github.com/vim-scripts/gruvbox|gruvbox]]
=== Manual install theme ===
mkdir -p ~/.vim/colors
cd ~/.vim/colors
wget https://raw.githubusercontent.com/vim-scripts/gruvbox/master/colors/gruvbox.vim
=== Add to .vimrc ===
colorscheme gruvbox
=== Install FNF for search files in Vim ===
sudo apt-get install fzf silversearcher-ag
=== For Plugin YouCompleteMe (YCM) ===
sudo apt install cmake
cd ~/.vim/bundle/YouCompleteMe
python3 install.py
=== For Latex plugin support - vim-tex - latexrun is not executable! ===
git clone https://github.com/aclements/latexrun.git
cd latexrun
sudo cp latexrun/latexrun /usr/local/bin/