" settings if has('nvim') if ! filereadable(system('echo -n "$HOME/.config/nvim/autoload/plug.vim"')) silent !mkdir -p $HOME/.config/nvim/autoload/ silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.config/nvim/autoload/plug.vim autocmd VimEnter * PlugInstall endif endif if version >= 8.0 if ! filereadable(system('echo -n "$HOME/.vim/autoload/plug.vim"')) silent !mkdir -p $HOME/.vim/autoload/ silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.vim/autoload/plug.vim autocmd VimEnter * PlugInstall endif endif let mapleader = "\" let g:python3_host_prog = expand('/usr/src/python') set laststatus=2 set autoindent set noexpandtab set shiftwidth=4 set softtabstop=4 set tabstop=4 set nocompatible set incsearch set noshowmode set cmdheight=1 set encoding=utf-8 set undofile set incsearch set scrolloff=8 set t_BE= au BufWritePre * let &bex = '@' . strftime("%F.%H:%M") filetype plugin indent on syntax on " plugins call plug#begin('~/.config/nvim/plugged') " Markdown Plug 'tpope/vim-markdown' " Nerd Tree Plug 'preservim/nerdtree' Plug 'ryanoasis/vim-devicons' Plug 'nmante/vim-latex-live-preview' " Goyo plugin for writing mutt mail Plug 'junegunn/goyo.vim' " Theme gruvbox Plug 'dracula/vim', { 'as': 'dracula'} Plug 'gruvbox-community/gruvbox', { 'as': 'gruvbox'} " Fzf plugin Plug 'junegunn/fzf.vim' Plug 'junegunn/fzf' " CSS Plug 'ap/vim-css-color' " coc Plug 'neoclide/coc.nvim', {'branch': 'release'} " PyRight Plug 'sakhnik/nvim-gdb', { 'do': ':!./install.sh' } " Ansible yaml Plug 'pearofducks/ansible-vim', { 'do': './UltiSnips/generate.sh' } " coc-cpp coc-c " emerge dev-util/ccls " Multiple cursors Plug 'terryma/vim-multiple-cursors' " Enable gentoo-syntax in vim Plug 'gentoo/gentoo-syntax' Plug 'tpope/vim-commentary' Plug 'tpope/vim-surround' Plug 'junegunn/vim-easy-align' call plug#end() " Instalation coc extentions let g:coc_global_extensions = ['coc-solargraph', 'coc-go', 'coc-yaml', 'coc-pyright', 'coc-json' , 'coc-markdownlint' , 'coc-sh', 'coc-prettier', 'coc-diagnostic', 'coc-perl'] " Status-line set statusline= set statusline+=%#IncSearch# set statusline+=\ %y set statusline+=\ %m set statusline+=\ %r set statusline+=%#CursorLineNr# set statusline+=\ %F set statusline+=%= "Right side settings set statusline+=%#Search# set statusline+=\ %l/%L set statusline+=\ [%c] " ansible let g:ansible_extra_keywords_highlight = 1 au BufRead,BufNewFile *.yml set filetype=yaml.ansible " fzf let $FZF_DEFAULT_COMMAND = 'find . -type f -not -path "*/\.git/*"' command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(), 1, 0) command! -bang -nargs=* FindCurrentWord call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(expand('')), 1, 0) set grepprg=rg\ --vimgrep nmap e :Buffers nmap q :Rg nmap w :Files nmap :Files " Resize window nnoremap :vertical resize +5 nnoremap :vertical resize -5 nnoremap :res +5 nnoremap :res -5 " Split window nnoremap _ :vsp nnoremap - :split " Reload file nnoremap :edit nnoremap :edit! " Copy using anc c nnoremap c :w !xclip vnoremap c "*y " livepreviewer let g:livepreview_previewer = 'mupdf' " markdown preview let g:mkdp_browser = '/home/yorune/.local/bin/browser-x' let g:mkdp_echo_preview_url = 1 let g:markdown_fenced_languages = ['html', 'python', 'bash=sh'] let g:markdown_minlines = 1 autocmd FileType markdown set foldexpr=NestedMarkdownFolds() au BufNewFile,BufRead *.conf setfiletype conf " line numbers set number set ruler set title " indent set backspace=indent,eol,start set shiftwidth=4 set list listchars=nbsp:¬,tab:»·,trail:·,extends:> " editing runtime! macros/matchit.vim set backspace=indent,eol,start " visual feedback set laststatus=2 set showmode set showcmd " off mouse set mouse-=a " disable pcspkr beep set visualbell set t_vb= " searching set smartcase set ic " cursor let &t_SI = "\[6 q" let &t_EI = "\[2 q" " Enable show hidden in NerdTree let NERDTreeShowHidden=1 " multiple cursors let g:multi_cursor_start_word_key = '' let g:multi_cursor_select_all_word_key = '' let g:multi_cursor_start_key = 'g' let g:multi_cursor_select_all_key = 'g' let g:multi_cursor_next_key = '' let g:multi_cursor_prev_key = '' let g:multi_cursor_skip_key = '' let g:multi_cursor_quit_key = '' " colors colorscheme gruvbox let g:gruvbox_invert_selection='0' set background=dark "hi Normal ctermbg=NONE hi Pmenu ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#64666d gui=NONE hi PmenuSel ctermfg=NONE ctermbg=246 cterm=NONE guifg=NONE guibg=#204a87 gui=NONE hi CursorLine cterm=NONE term=NONE ctermbg=NONE guibg=NONE hi CursorLine ctermbg=235 hi DiffAdd cterm=BOLD ctermfg=NONE ctermbg=22 hi DiffDelete cterm=BOLD ctermfg=NONE ctermbg=52 hi DiffChange cterm=BOLD ctermfg=NONE ctermbg=23 hi DiffText cterm=BOLD ctermfg=NONE ctermbg=23 " columne set textwidth=80 set colorcolumn=80 " highlight ColorColumn ctermbg=235 highlight ColorColumn ctermbg=236 " map nnoremap S :%s//g nnoremap ee :!mupdf $(echo % \| sed 's/tex$/pdf/') & disown map :NERDTreeToggle nnoremap :tabnew nnoremap :Goyo nnoremap :tabprevious nnoremap :tabnext nnoremap K :tabprevious nnoremap J :tabnext "" Moving line up or down using alt nnoremap :m-2 nnoremap :m+ inoremap :m-2 inoremap :m+ vnoremap :m '>+1gv=gv vnoremap :m '<-2gv=gv nnoremap Ż :m-2 nnoremap ∆ :m+ vnoremap ∆ :m '>+1gv=gv vnoremap Ż :m '<-2gv=gv nnoremap :m-2 nnoremap :m+ inoremap :m-2 inoremap :m+ vnoremap :m '>+1gv=gv vnoremap :m '<-2gv=gv cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! map :setlocal spell! spelllang=en_gb map :setlocal spell! spelllang=pl " Copy into system noremap y "*y noremap p "*p " Code map :w:terminal ~/.local/bin/debugger '%:p' map , :CocAction map Vgaip= nnoremap x :!chmod +x % " latex let g:tex_flavor = "latex" autocmd BufWritePost *.tex silent! execute "!pdflatex --shell-escape -synctex=1 -interaction=nonstopmode % > /dev/null " | redraw! autocmd BufWritePost *.tex silent! execute "!latexmk -pdf -silent % > /dev/null" | redraw! autocmd BufWritePost *.tex silent! execute "!sudo rm -rf *.fls *.ilg *.nav *.snm *.toc *.idx *.lof *.lot *.synctex.gz *.aux *.fdb_latexmk *.fls *.log *.out > /dev/null" | redraw! autocmd BufWritePost *.tex silent! execute "!sudo pkill -HUP mupdf > /dev/null" | redraw! " mutt autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x! autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q! " markdown-notes autocmd BufWritePost notes-all.md silent! :!git add notes-all.md autocmd BufWritePost notes-all.md silent! :!git commit --author='Marcin Woźniak ' -m "Autosaving - $(echo -e $(date))" autocmd BufWritePost notes-all.md silent! execute "!git push" | execute ':redraw!' " Automatically deletes all trailing whitespace and newlines at end of file on save. autocmd BufWritePre * %s/\s\+$//e autocmd BufWritepre * %s/\n\+\%$//e