dotfiles/.vimrc

83 lines
1.9 KiB
VimL

" Ensure certain plugins work by removing vi compatable modes
set nocompatible
" Start Vundle, temporarily set some values
set rtp+=~/.vim/bundle/Vundle.vim
filetype off
call vundle#begin()
" Plugin execution
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-pandoc/vim-pandoc'
Plugin 'vim-pandoc/vim-pandoc-syntax'
Plugin 'tpope/vim-surround'
Plugin 'mhinz/vim-startify'
Plugin 'vim-airline/vim-airline'
Plugin 'dense-analysis/ale'
Plugin 'noahfrederick/vim-hemisu'
" End Vundle startup, reset changed values as desired
call vundle#end()
filetype plugin indent on
" Visual themeing
set termguicolors "Enable 256 colors
set scrolloff=5 "Always display 5 lines below cursor when scrolling
colorscheme hemisu
set background=dark
let g:airline_powerline_fonts = 1
" Set UTF-8 default
set encoding=utf-8
" Searching Modifications
set hlsearch "highlight search matches
set incsearch
set ignorecase
set smartcase
" Tabs and Whitespace
set breakindent
set autoindent
set smartindent
set nowrap
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set list listchars=tab:\ \ ,trail:.
" Command completion
set wildmenu
set wildignorecase
" Syntax Highlighting
syntax on
" Directories for backup files
set backupdir=~/.vim/backup
set directory=~/.vim/backup
" Disable markdown spelling by default
let g:pandoc#modules#disabled = ["spell"]
" Fixes to pandoc's rules to make markdown less ugly
let g:pandoc#syntax#codeblocks#embeds#langs = ["python", "bash=sh", "sh"]
let g:pandoc#syntax#conceal#blacklist = ["ellipses", "quotes"]
let g:pandoc#syntax#conceal#urls = 1
" Unfold everything by default
set foldlevel=99
" Bracketed Paste
let &t_ti = &t_ti . "\e[?2004h"
let &t_te = "\e[?2004l" . &t_te
function XTermPasteBegin(ret)
set pastetoggle=<Esc>[201~
set paste
return a:ret
endfunction
map <expr> <Esc>[200~ XTermPasteBegin("i")
imap <expr> <Esc>[200~ XTermPasteBegin("")
cmap <Esc>[200~ <nop>
cmap <Esc>[201~ <nop>