133 lines
4.2 KiB
VimL
133 lines
4.2 KiB
VimL
" -----------------------------------------------------------------------------
|
|
" - Prepare locations for main vim files -
|
|
" -----------------------------------------------------------------------------
|
|
if has('win32') || has ('win64')
|
|
let $VIMHOME = $HOME."/vimfiles"
|
|
else
|
|
let $VIMHOME = $HOME."/.vim"
|
|
let $NVIMHOME = $HOME."/.local/share/nvim"
|
|
endif
|
|
let $VIMPLUGINS = expand($VIMHOME."/plugins.vim")
|
|
let $LOCAL_VIMRC = $HOME."/.vimrc.local"
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Load up plugins -
|
|
" -----------------------------------------------------------------------------
|
|
" Use local vimrc for overrides if available and desired
|
|
if filereadable($LOCAL_VIMRC)
|
|
source $LOCAL_VIMRC
|
|
endif
|
|
source $VIMPLUGINS
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Indentation -
|
|
" -----------------------------------------------------------------------------
|
|
" show existing tab with 2 spaces width
|
|
set tabstop=2
|
|
" when indenting with '>', use 2 spaces width
|
|
set shiftwidth=2
|
|
" always set autoindenting on
|
|
set autoindent
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Better commits -
|
|
" -----------------------------------------------------------------------------
|
|
syntax on
|
|
set spell spelllang=en_us
|
|
set encoding=utf-8
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Style -
|
|
" -----------------------------------------------------------------------------
|
|
set number
|
|
set relativenumber
|
|
" This has been killing vim until it was resized
|
|
" set lines=50 columns=100
|
|
colorscheme gruvbox
|
|
set background=dark
|
|
set guifont=SauceCodePro\ Nerd\ Font:h12
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Miscellaneous -
|
|
" -----------------------------------------------------------------------------
|
|
" allow backspacing over everything in insert mode
|
|
set backspace=indent,eol,start
|
|
set ttimeoutlen=50
|
|
|
|
if has("vms")
|
|
set nobackup " do not keep a backup file, use versions instead
|
|
else
|
|
set backup " keep a backup file
|
|
endif
|
|
set history=50 " keep 50 lines of command line history
|
|
set ruler " show the cursor position all the time
|
|
set cursorline " highlight the current line
|
|
set laststatus=2 " Always display the status line
|
|
set noswapfile
|
|
set showcmd " display incomplete commands
|
|
set incsearch " do incremental searching
|
|
set autoread " Reload files changed outside vim
|
|
set hidden " Allow leaving unsaved buffers
|
|
set inccommand=nosplit " Enable live preview of text replacement
|
|
|
|
" Trigger autoread when changing buffers or coming back to vim in terminal.
|
|
if !has('win32') && !has('win64')
|
|
autocmd FocusGained,BufEnter * :silent! !
|
|
endif
|
|
|
|
" In many terminal emulators the mouse works just fine, thus enable it.
|
|
if has('mouse')
|
|
set mouse=a
|
|
endif
|
|
|
|
" Switch syntax highlighting on, when the terminal has colors
|
|
" Also switch on highlighting the last used search pattern.
|
|
if &t_Co > 2 || has("gui_running")
|
|
syntax on
|
|
set hlsearch
|
|
endif
|
|
|
|
" Allow recursive searches
|
|
set path+=**
|
|
|
|
" Save whenever switching windows or leaving vim. This is useful when running
|
|
" the tests inside vim without having to save all files first.
|
|
autocmd FocusLost,WinLeave * :silent! wa
|
|
|
|
" automatically rebalance windows on vim resize
|
|
autocmd VimResized * :wincmd =
|
|
|
|
" automatically save open .org files
|
|
autocmd CursorHold *.org :write
|
|
|
|
" Set tags to default tags file generated by gentags script
|
|
set tags=./tags.gitignored;
|
|
|
|
" -----------------------------------------------------------------------------
|
|
" - Common mapping -
|
|
" -----------------------------------------------------------------------------
|
|
let mapleader = " "
|
|
let maplocalleader = " "
|
|
|
|
" Don't use Ex mode, use Q for formatting
|
|
map Q gq
|
|
|
|
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
|
|
" so that you can undo CTRL-U after inserting a line break.
|
|
inoremap <C-U> <C-G>u<C-U>
|
|
|
|
" Allow :W and :Wq to save too
|
|
command! Wq :wq
|
|
command! W :w
|
|
|
|
" Close extra windows
|
|
noremap <Leader>c :ccl <bar> lcl<CR>
|
|
|
|
if &term =~ '256color'
|
|
" disable Background Color Erase (BCE) so that color schemes
|
|
" render properly when inside 256-color tmux and GNU screen.
|
|
set t_ut=
|
|
endif
|
|
|
|
highlight Comment cterm=italic
|