" Begin Plugin section if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) echo "Downloading junegunn/vim-plug to manage plugins..." silent !mkdir -p ~/.config/nvim/autoload/ silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim autocmd VimEnter * PlugInstall endif call plug#begin('~/.local/share/nvim/plugged') Plug 'lervag/vimtex' , {'for' : 'tex'} " Tex library for autocompletion Plug 'donRaphaco/neotex' , {'for': 'tex'} " Asynchronous pdf rendering Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'} " Filetree Plug 'majutsushi/tagbar' " Show tags Plug 'airblade/vim-gitgutter' " Git Upgrades Plug 'qpkorr/vim-renamer' " Bulk renamer Plug 'sirver/ultisnips' " Snippets Plug 'uiiaoo/java-syntax.vim' , {'for': 'java'} " Better syntax highlight for java than default Plug 'frazrepo/vim-rainbow' " Colorized matching brackets Plug 'junegunn/fzf.vim' " Quickly jump files using fzf Plug 'ryanoasis/vim-devicons' " Enable Icons for vim Plug 'rrethy/vim-hexokinase' , {'do': 'make hexokinase'} " Color Preview Plug 'tomasiser/vim-code-dark' " adding colorscheme "Plug 'blueshirts/darcula' Plug 'godlygeek/tabular' " Tabularizing things Plug 'plasticboy/vim-markdown' , {'for': 'md'} " Helps for markdown Plug 'tpope/vim-surround' " Help for quotes/parantheses Plug 'alvan/vim-closetag' " Auto close HTML tags call plug#end() " Colorscheme colorscheme codedark " Rainbow au FileType java,c,cpp,py,h call rainbow#load() " You complete me let g:ycm_global_ycm_extra_conf = '/home/tiynger/.config/nvim/ycm_extra_conf.py' let g:ycm_autoclose_preview_window_after_completion = 1 let g:ycm_autoclose_preview_window_after_insertion = 1 let g:ycm_semantic_triggers = { \ 'tex' : ['{'] \} if !exists('g:ycm_semantic_triggers') let g:ycm_semantic_triggers = {} endif let g:ycm_semantic_triggers.tex = g:vimtex#re#youcompleteme let g:ycm_filepath_blacklist = {'*': 1} " Tagbar map :TagbarToggle " Nerdtree map :NERDTreeToggle autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif let g:NERDTreeWinPos = "left" " Neotex let g:neotex_enabled = 2 " CoVim let CoVim_default_name = "TiynGER" let CoVim_default_port = "7000" " Hexokinase let g:Hexokinase_refreshEvents = ['InsertLeave'] let g:Hexokinase_optInPatterns = [ \ 'full_hex', \ 'triple_hex', \ 'rgb', \ 'rgba', \ 'hsl', \ 'hsla', \ 'color_names' \] let g:Hexokinase_highlighters = ['backgroundfull'] autocmd VimEnter * HexokinaseTurnOn " Vim-Mardown let g:vim_markdown_folding_disabled=1 let g:vim_markdown_no_default_key_mappings=1 " Vim-Closetag let g:closetag_filenames = '*.html,*.xhtml,*.phtml' let g:closetag_xhtml_filenames = '*.xhtml,*.jsx' let g:closetag_filetypes = 'html,xhtml,phtml' let g:closetag_xhtml_filetypes = 'xhtml,jsx' let g:closetag_emptyTags_caseSensitive = 1 let g:closetag_regions = { \ 'typescript.tsx': 'jsxRegion,tsxRegion', \ 'javascript.jsx': 'jsxRegion', \ } let g:closetag_shortcut = '>' let g:closetag_close_shortcut = '>' " End Plugin section let mapleader ="," set go=a " Enable mouse for all modes set mouse=a set clipboard+=unnamedplus " Enable command completion set wildmode=longest,list,full " Setting Tab-length set expandtab set softtabstop=4 set shiftwidth=4 " Splits open at the bottom and right, which is non-retarded, unlike vim defaults. set splitbelow splitright " Disable case sensitive matching set ignorecase " Enable nocompatible mode set nocompatible " Enable Plugins filetype plugin on " Enable syntax highlighting syntax on " Enable true colors set termguicolors " Set utf-8 encoding set encoding=utf-8 " Show relative numbers on left side set number relativenumber " Speedup vim with long lines set ttyfast set lazyredraw " enable persistent undo if has('persistent_undo') set undofile set undodir=$XDG_CACHE_HOME/vim/undo endif " Delete trailing whitespaces on save fun! TrimWhitespace() let l:save = winsaveview() keeppatterns %s/\s\+$//e call winrestview(l:save) endfun autocmd BufWritePre * :call TrimWhitespace() " Disables automatic commenting on newline: autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o " Clean LaTex build files autocmd VimLeave *.tex !texclear % " Read files correctly autocmd BufRead,BufNewFile *.tex set filetype=tex autocmd BufRead,BufNewFile *.h set filetype=c " Mapping Dictionaries map :setlocal spell! spelllang=de_de map :set spelllang=en_us " Compiler for languages map c :w! \| !compiler % " Open corresponding file (pdf/html/...) map p :!opout % " Shortcut for split navigation map h map j map k map l " Copy selected text to system clipboard (requires gvim/nvim/vim-x11 installed): map "+P vnoremap "+y " Save file as sudo on files that require root permission cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! " Alias for replacing nnoremap S :%s//gI " Start Formatting section autocmd FileType java,python,c,tex,latex noremap gggqG au FileType python setlocal formatprg=autopep8\ - au FileType java setlocal formatprg=astyle\ --indent=spaces=2\ --style=google autocmd FileType java setlocal shiftwidth=2 softtabstop=2 au FileType c setlocal formatprg=astyle\ --mode=c au FileType tex,latex setlocal formatprg=latexindent\ - " End Formatting section