" ===================================== " -- Plugin management -- " ===================================== call plug#begin() " Theme Plug 'morhetz/gruvbox' " Status line Plug 'itchyny/lightline.vim' " File manager Plug 'lambdalisue/vim-fern' " Comment remap Plug 'tpope/vim-commentary' " Git diff viewer Plug 'airblade/vim-gitgutter' " Git integration Plug 'tpope/vim-fugitive' " Git diff Lightline integration Plug 'niklaas/lightline-gitdiff' call plug#end() " ===================================== " -- Behavior -- " ===================================== " Disable mode in command line set noshowmode set laststatus=2 " Line numbers set number set relativenumber " Cursor line highlight set cursorline " Mouse support set mouse=a " Terminal title set title " Auto reload changes set autoread " Indentation set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab " Backup/info files set nobackup set noswapfile set viminfofile=~/.vim/viminfo " Performance set ttyfast set lazyredraw " Split behavior set splitbelow set splitright " Visual bell set novisualbell " ===================================== " -- Theme options -- " ===================================== " Color scheme set background=dark colorscheme gruvbox hi Normal guibg=NONE ctermbg=NONE " Lightline theme let g:lightline = { \ 'colorscheme': 'gruvbox', \ 'active': { \ 'left': [['mode', 'paste'], ['gitbranch', 'readonly', 'filename', 'modified'], ['gitdiff']], \ 'right': [['lineinfo'], ['percent'], ['filetype']] \ }, \ 'component_function': { \ 'gitbranch': 'fugitive#head', \ }, \ 'component_expand': { \ 'gitdiff': 'lightline#gitdiff#get', \ }, \ 'component_type': { \ 'gitdiff': 'middle', \ }, \ } let g:lightline#gitdiff#indicator_added = '+ ' let g:lightline#gitdiff#indicator_deleted = '- ' let g:lightline#gitdiff#indicator_modified = '~ ' " ===================================== " -- Remaps -- " ==================================== " Leader options let mapleader=' ' nnoremap " File manager nnoremap pf :Fern . nnoremap pr :Fern %:h " Buffer management nnoremap nw :bnext nnoremap nq :bprev nnoremap nc :bd " Moving visual block vnoremap J :m '>+1gv=gv vnoremap K :m '<-2gv=gv