dotfiles/.vim/vimrc

66 lines
1.6 KiB
VimL

source ~/.vim/vundlerc.vim
syntax on
filetype plugin indent on
set omnifunc=syntaxcomplete#Complete
" unset mouse
set mouse=
" Maintain undo history between sessions
if !isdirectory("/tmp/.vim-undo-dir")
call mkdir("/tmp/.vim-undo-dir", "", 0700)
endif
set undodir=/tmp/.vim-undo-dir
set undofile
" Default tab is 4 spaces
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
" Highlight searches
set hlsearch
set showmatch
" Use TAB to switch between buffers
noremap <tab> :bn<CR>
noremap <S-tab> :bp<CR>
" Highlight trailing whitespace (darker red) and remove all with Ctrl+k
highlight WhitespaceEOL ctermbg=red guibg=#ab0d0d
match WhitespaceEOL /\s\+\%#\@<!$/
nnoremap <C-k> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar><CR>
" Much better with Tomorrow Night Bright color theme set in alacritty
set background=dark
highlight Search ctermfg=Black
highlight Comment ctermfg=Grey
highlight SignColumn ctermbg=236
highlight LineNr ctermfg=244
highlight LineNr ctermbg=232
highlight Folded ctermbg=DarkGreen
highlight Folded ctermfg=Black
" Language indents and line lengths
autocmd FileType py,rst,md set textwidth=79
autocmd FileType html,yaml,css set softtabstop=2 shiftwidth=2
" Toggles on different plugins/modes
noremap <F1> :ToggleMouse<CR>
inoremap <F1> <Esc>:ToggleMouse<CR>a
nmap <F3> :set nonumber!<CR>
nmap <F5> :NERDTreeToggle<CR>
set pastetoggle=<F2>
nmap <leader>e :ALEDetail <cr>
" Enable vimrc files per project, e.g: ./project/.vimrc
set exrc
" Disable unsafe commands in project vimrc
set secure
" Plugin configuration
source ~/.vim/ale.vim
source ~/.vim/nerdtree.vim