dotfiles/.vimrc

165 lines
3.7 KiB
VimL

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
set rtp+=~/.config/nvim/bundle/Vundle.vim
call plug#begin('~/.config/nvim/plug')
Plug 'chriskempson/base16-vim'
Plug 'godlygeek/tabular'
Plug 'plasticboy/vim-markdown'
Plug 'itchyny/lightline.vim'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'othree/html5.vim'
Plug 'tpope/vim-haml'
Plug 'junegunn/fzf'
call plug#end()
syntax enable
set background=dark
set termguicolors
colorscheme base16-default-dark
hi Search cterm=NONE ctermfg=white ctermbg=red
hi clear SpecialKey
filetype plugin indent on
"Disable vi-compatible backspace behavior
set backspace=indent,eol,start
"Default character encoding
set encoding=utf-8
set fileencoding=utf-8
" All unix, all the time
set ffs=unix
set ff=unix
" Indentation stuff
set tabstop=2
set softtabstop=2
set shiftwidth=2
set noexpandtab
set textwidth=0
set colorcolumn=81
set autoindent
set smartindent
" Look and feel
set encoding=utf-8
set noshowmode
set number
set wildmenu
set showmatch
" Silence is golden
set noerrorbells
set novisualbell
" Searching things
set incsearch
set hlsearch
set ignorecase
set smartcase
autocmd BufNewFile,BufRead *.sls set filetype=yaml
" Visually display whitespace (this prevents slowness from match command)
set list
set listchars=tab:··,trail:-,nbsp:+
"Display each keystroke in the status line
set showcmd
"Always show the status line
set laststatus=2
set hidden
" Remapping things
let mapleader=","
let maplocalleader=","
" Making my life hard on purpose so it is easier later...
nnoremap <buffer><Left> <nop>
nnoremap <buffer><Right> <nop>
nnoremap <buffer><Up> <nop>
nnoremap <buffer><Down> <nop>
nnoremap <buffer><PageUp> <nop>
nnoremap <buffer><PageDown> <nop>
nnoremap <buffer><Home> <nop>
nnoremap <buffer><Insert> <nop>
nnoremap <buffer><End> <nop>
vnoremap <buffer><Left> <nop>
vnoremap <buffer><Right> <nop>
vnoremap <buffer><Up> <nop>
vnoremap <buffer><Down> <nop>
vnoremap <buffer><PageUp> <nop>
vnoremap <buffer><PageDown> <nop>
vnoremap <buffer><Home> <nop>
vnoremap <buffer><Insert> <nop>
vnoremap <buffer><End> <nop>
inoremap <buffer><Left> <nop>
inoremap <buffer><Right> <nop>
inoremap <buffer><Up> <nop>
inoremap <buffer><Down> <nop>
inoremap <buffer><PageUp> <nop>
inoremap <buffer><PageDown> <nop>
inoremap <buffer><Home> <nop>
inoremap <buffer><Insert> <nop>
inoremap <buffer><End> <nop>
nnoremap ; :
nnoremap <Leader>b :buffers<CR>:buffer<Space>
"Toggle line numbering
nmap <Leader>n :setlocal number!<CR>
nmap <Leader>c :nohlsearch<CR>
set pastetoggle=<leader>p
map <C-J> :bnext<CR>
map <C-K> :bprev<CR>
map <C-L> :tabn<CR>
map <C-H> :tabp<CR>
map <C-O> :NERDTreeToggle<CR>
"Delete single characters without updating the default register
noremap x "_x
"Paste in visual mode without updating the default register
vnoremap p "_dP
"Jump five lines when scrolling at edge of screen
set scrolljump=1
"Cause screen to scroll when within three lines of the edge
set scrolloff=5
set sidescrolloff=5
"Folding
set foldmethod=indent
set nofoldenable
set grepprg=grep\ -nH\ $*
let g:powerline_pycmd = "py3"
let loaded_matchparen = 1
let g:vimtex_view_general_viewer = 'qpdfview'
let g:vimtex_compiler_latexmk = {'callback' : 0}
let g:vimtex_view_general_options
\ = '--unique @pdf\#src:@tex:@line:@col'
let g:vimtex_view_general_options_latexmk = '--unique'
let g:tex_flavor = 'latex'
let g:vimtex_compiler_latexmk = {
\ 'background' : 1,
\ 'build_dir' : '',
\ 'callback' : 0,
\ 'continuous' : 0,
\ 'executable' : 'latexmk',
\ 'options' : [
\ '-pdf',
\ '-verbose',
\ '-file-line-error',
\ '-synctex=1',
\ '-interaction=nonstopmode',
\ ],
\}