dotfiles-server/.vim/vimrc

109 lines
2.3 KiB
VimL
Raw Normal View History

2024-07-24 04:31:24 -04:00
" =====================================
2024-07-24 04:00:48 -04:00
" -- Plugin management --
2024-07-24 04:31:24 -04:00
" =====================================
2024-07-24 03:48:25 -04:00
call plug#begin()
2024-07-24 04:00:48 -04:00
" Theme
Plug 'morhetz/gruvbox'
" Status line
Plug 'itchyny/lightline.vim'
2024-07-24 04:00:48 -04:00
" File manager
Plug 'lambdalisue/vim-fern'
2024-07-24 04:31:24 -04:00
" Comment remap
Plug 'tpope/vim-commentary'
2024-07-24 04:44:55 -04:00
" Git diff viewer
Plug 'airblade/vim-gitgutter'
" Git integration
Plug 'tpope/vim-fugitive'
" Git diff Lightline integration
Plug 'niklaas/lightline-gitdiff'
2024-07-24 03:48:25 -04:00
call plug#end()
2024-07-24 04:00:48 -04:00
2024-07-24 04:31:24 -04:00
" =====================================
" -- Behavior --
2024-07-24 04:31:24 -04:00
" =====================================
" Disable mode in command line
set noshowmode
set laststatus=2
2024-07-24 04:31:24 -04:00
" Line numbers
set number
set relativenumber
2024-07-24 04:35:49 -04:00
" Cursor line highlight
set cursorline
" Mouse support
set mouse=a
2024-07-24 04:31:24 -04:00
" 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
2024-07-24 04:31:24 -04:00
" Performance
set ttyfast
2024-07-24 04:31:24 -04:00
set lazyredraw
" Split behavior
set splitbelow
set splitright
" Visual bell
2024-07-24 04:35:49 -04:00
set novisualbell
2024-07-24 04:31:24 -04:00
" =====================================
2024-07-24 04:00:48 -04:00
" -- Theme options --
2024-07-24 04:31:24 -04:00
" =====================================
2024-07-24 04:00:48 -04:00
" 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 = '~ '
2024-07-24 04:00:48 -04:00
2024-07-24 04:31:24 -04:00
" =====================================
2024-07-24 04:00:48 -04:00
" -- Remaps --
2024-07-24 04:31:24 -04:00
" ====================================
2024-07-24 04:00:48 -04:00
" Leader options
let mapleader=' '
nnoremap <Space> <Nop>
" File manager
nnoremap <Leader>pf :Fern .<CR>
nnoremap <Leader>pr :Fern %:h<CR>
" Buffer management
nnoremap <Leader>nw :bnext<CR>
nnoremap <Leader>nq :bprev<CR>
2024-07-24 04:31:24 -04:00
nnoremap <Leader>nc :bd<CR>
" Moving visual block
vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '<-2<CR>gv=gv