call plug#begin("~/.nvim/bundle") " UI Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'tomasiser/vim-code-dark' Plug 'Yggdroot/indentLine' Plug 'airblade/vim-gitgutter' Plug 'mhinz/vim-startify' Plug 'sjl/gundo.vim' Plug 'scrooloose/nerdtree' Plug 'ryanoasis/vim-devicons' " Ergonomics Plug 'haya14busa/incsearch.vim' " Programming helpers Plug 'tpope/vim-sleuth' Plug 'majutsushi/tagbar' " Language support Plug 'mitsuhiko/vim-jinja' Plug 'tikhomirov/vim-glsl' Plug 'rust-lang/rust.vim' Plug 'cespare/vim-toml' Plug 'godlygeek/tabular' Plug 'plasticboy/vim-markdown' Plug 'posva/vim-vue' Plug 'scrooloose/syntastic' " Other Plug 'guns/xterm-color-table.vim' call plug#end() " Misc set mouse=a set nowrap set shell=zsh set scrolloff=5 set ruler set backspace=2 set cursorline set hidden set wildmenu set wildmode=longest:full set splitright set splitbelow let &colorcolumn="+".join(range(1, 255), ",+") let mapleader="," set termguicolors nnoremap :buffers:buffer " Gundo nnoremap :GundoToggle " Tagbar nmap :TagbarOpenAutoClose let g:tagbar_sort = 0 " Airline set laststatus=2 if !exists('g:airline_symbols') let g:airline_symbols = {} endif let g:airline_theme = 'codedark' let g:airline_left_sep = ' ' let g:airline_left_alt_sep = '| ' let g:airline_right_sep = '' let g:airline_right_alt_sep = '|' let g:airline_symbols.branch = '' let g:airline_symbols.readonly = '' let g:airline_symbols.linenr = '' let g:airline_symbols.maxlinenr = '' let g:airline_symbols.whitespace = 'Ξ' let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#left_sep = '' let g:airline#extensions#tabline#left_alt_sep = '|' let g:airline#extensions#tabline#show_tab_nr = 0 let g:airline#extensions#tabline#show_tab_type = 0 " Syntax coloring syntax enable set synmaxcol=1024 set background=dark colorscheme codedark hi WarningMsg ctermbg=0 hi YcmErrorSign ctermbg=18 ctermfg=1 hi YcmWarningSign ctermbg=18 ctermfg=3 " indentLine let g:indentLine_color_term = 20 let g:indentLine_char = '│' let g:indentLine_concealcursor = '' let g:indentLine_indentLevel = 25 let g:indentLine_fileType = ['vhdl'] " Startify let g:startify_session_dir = $HOME . '/.nvim/sessions' let g:startify_session_autoload = 1 let g:startify_session_persistence = 1 " Formatting set encoding=utf-8 set tabstop=8 set shiftwidth=4 set expandtab set autoindent set cino=:0 au FileType text,markdown setlocal textwidth=80 au FileType python setlocal textwidth=79 nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s:nohl " Trim trailing spaces set list listchars=tab:\ \ ,trail:•,precedes:…,extends:… " Line numbering set number " Search set ignorecase set smartcase map / (incsearch-forward) map ? (incsearch-backward) map g/ (incsearch-stay) set hlsearch let g:incsearch#auto_nohlsearch = 1 map n (incsearch-nohl-n) map N (incsearch-nohl-N) map * (incsearch-nohl-*) map # (incsearch-nohl-#) map g* (incsearch-nohl-g*) map g# (incsearch-nohl-g#) " Undos set undofile set undodir=~/.nvim/undo set undolevels=1000 set undoreload=10000 " Completion set completeopt=menu,menuone,longest,preview let g:ycm_confirm_extra_conf = 0 let g:ycm_autoclose_preview_window_after_completion = 1 let g:ycm_complete_in_comments = 1 let g:ycm_seed_identifiers_with_syntax = 1 let g:ycm_python_binary_path = 'python' " Shortcuts "nnoremap :wa:split:terminal make run vnoremap "+y inoremap "+pa map :set invpaste if has("nvim") tnoremap h tnoremap j tnoremap k tnoremap l endif nnoremap h nnoremap j nnoremap k nnoremap l nnoremap :tabnew nnoremap :tabnext nnoremap :tabprevious nnoremap map ; : " Cache set backupdir=~/.nvim/backup set directory=~/.nvim/backup " Vimpager if exists("vimpager") au BufRead * set scrolloff=0 set noruler set nocursorline set colorcolumn= set nonumber au BufRead * set laststatus=0 let g:airline#extensions#tabline#enabled = 0 endif let vimpager_disable_ansiesc = 1 " vim-markdown let g:vim_markdown_folding_disabled = 1 " NerdTree map :NERDTreeToggle autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif