home/.vimrc

86 lines
1.9 KiB
VimL

execute pathogen#infect()
" Theming
if $TERM != 'linux'
set background=dark
colorscheme solarized
endif
syntax on
filetype plugin indent on
" Templates
let g:email = 'rehashedsalt@cock.li'
let g:user = 'Vintage Salt'
let g:license = 'MIT'
let g:templates_directory = [ '~/.vim/templates' ]
" Lightline
set noshowmode
let g:lightline = {
\ 'active': {
\ 'left': [
\ [ 'mode', 'paste' ],
\ [ 'readonly', 'filename', 'modified' ],
\ [ 'charvaluehex' ]
\ ],
\ 'right': [
\ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'fileformat', 'fileencoding', 'filetype' ]
\ ]
\ },
\ 'component': {
\ 'charvaluehex': 'char: 0x%B'
\ },
\}
let g:lightline.colorscheme = 'solarized'
" Automatically read when a file is changed outside of Vim
set autoread
" Allow buffer switching without saving
set hidden
" Split and tab configuration
nnoremap <C-H> <C-W><C-H>
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
set splitbelow
set splitright
" Enable modelines
set modeline
set modelines=5
" Session saving
map <F2> :mksession! ~/.vim_session <cr> " Quick write session with F2
map <F3> :source ~/.vim_session <cr> " And load session with F3
" Use XA_PRIMARY clipboard by default
set clipboard=unnamedplus
" Python stuff
au BufNewFile,BufRead *.py " Set up nice PEP8 indentation
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=79 |
\ set expandtab |
\ set autoindent |
\ set fileformat=unix
" Miscellaneous options
set incsearch " Search while you type
set number relativenumber " Relative line numbering
set encoding=utf-8
set laststatus=2 " Always show statusbar
" For clang_complete
" Proper path for Debian Buster
let g:clang_library_path='/usr/lib/llvm-4.0/lib/libclang.so.1'
" Enable 256-color support
" All of my machines support 256-color so this should be fine
set t_Co=256