""" " Plugins " call plug#begin(expand('$XDG_CONFIG_HOME/nvim/plugs')) " Base16 colorschemes Plug 'chriskempson/base16-vim' " Statusline replacement Plug 'itchyny/lightline.vim' " Change working directory to project root when opening file Plug 'airblade/vim-rooter' " Fuzzy finder. Requires fzf package to be installed Plug 'junegunn/fzf.vim' " Better language support Plug 'autozimu/LanguageClient-neovim', { \ 'branch': 'next', \ 'do': 'bash install.sh', \ } Plug 'rust-lang/rust.vim' Plug 'tpope/vim-git' call plug#end() """ " Plugin settings " " Base16 let base16colorspace=256 " Lightline let g:lightline = { \ 'colorscheme': 'wombat', \ } " Fzf let g:fzf_command_prefix = 'Fzf' " Language Client let g:LanguageClient_serverCommands = { \ 'rust': ['rustup', 'run', 'nightly', 'rls'], \ } let g:LanguageClient_autoStart = 1 nnoremap f :call LanguageClient_textDocument_formatting() " rust.vim let g:rust_clip_command = 'xclip -selection clipboard' vnoremap = :'<,'>RustFmtRange nnoremap = :RustFmt """ " NVim settings " syntax on filetype plugin indent on set hidden " Automatically hide buffers with changes instead of requiring bangcommands set number " Always show line numbers set ignorecase " Ignore case of normal letters set smartcase " Case-sensitive search unless pattern is all lowercase set wildignore=*.swp,*.bak,*.pyc,*.o " File patterns to ignore on wildcard expansion set title " Change the terminal's title to the filename set visualbell " Don't beep set backup " Always keep backup files in case of crashes set undofile " Save undo's after file closes set shortmess+=I " Don't show the nag-screen set showcmd " Show partial command in the last line of the screen set scrolloff=4 " Minimum number of screen lines under/above the cursor set linebreak " Don’t wrap lines in the middle of a word set spelllang=en_us set backupdir=$XDG_DATA_HOME/nvim/backup " Don't write backups in current dir set termguicolors " Use -guifg/-guibg attributes (24-bit colors) set colorcolumn=100 " Show colored line at column 100 set tabstop=4 set shiftwidth=4 set softtabstop=4 set noexpandtab set copyindent " Show tabs, end-of-line whitespace, and non-breaking spaces set listchars=tab:»·,trail:·,nbsp:◊ set list " Colors colorscheme base16-atelier-dune " Color spaces at end of lines bright red for visibility highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@ / :nohlsearch " Easier window moving noremap h noremap j noremap k noremap l noremap p :FzfFiles noremap P :FzfFiles nnoremap b :FzfBuffers noremap s :Rg command! -bang -nargs=* Rg \ call fzf#vim#grep( \ 'rg --column --line-number --no-heading --color=always '.shellescape(), 1, \ 0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('right:50%:hidden', '?'), \ 0)