124 lines
3.2 KiB
VimL
124 lines
3.2 KiB
VimL
" Hack my TERM to get around vim ignoring terminfo lol
|
|
if &term == "alacritty"
|
|
let &term = "xterm-256color"
|
|
endif
|
|
|
|
" Ensure certain plugins work by removing vi compatable modes
|
|
set nocompatible
|
|
|
|
" Make backspace work as expected on all platforms
|
|
set backspace=indent,eol,start
|
|
|
|
" Start Vundle, temporarily set some values
|
|
set rtp+=~/.vim/bundle/Vundle.vim
|
|
filetype off
|
|
call vundle#begin()
|
|
|
|
" Plugin execution
|
|
Plugin 'VundleVim/Vundle.vim'
|
|
|
|
if v:version >= 704
|
|
Plugin 'vim-pandoc/vim-pandoc'
|
|
Plugin 'vim-pandoc/vim-pandoc-syntax'
|
|
endif
|
|
|
|
Plugin 'tpope/vim-surround'
|
|
Plugin 'mhinz/vim-startify'
|
|
Plugin 'vim-airline/vim-airline'
|
|
Plugin 'dense-analysis/ale'
|
|
Plugin 'elixir-editors/vim-elixir'
|
|
Plugin 'rodjek/vim-puppet'
|
|
|
|
" End Vundle startup, reset changed values as desired
|
|
call vundle#end()
|
|
filetype plugin indent on
|
|
|
|
" Formatters for ale to reformat documents into a unified structure
|
|
let g:ale_fixers = {
|
|
\'*': ['remove_trailing_lines', 'trim_whitespace'],
|
|
\'elixir': ['mix_format']
|
|
\}
|
|
|
|
" Visual themeing
|
|
if exists('+termguicolors')
|
|
set termguicolors "Enable 256 colors
|
|
endif
|
|
set t_Co=256
|
|
set scrolloff=5 "Always display 5 lines below cursor when scrolling
|
|
colorscheme base16
|
|
let g:airline_theme='base16'
|
|
set background=dark
|
|
let g:airline_powerline_fonts = 1
|
|
|
|
" Set UTF-8 default
|
|
set encoding=utf-8
|
|
|
|
" Stop mouse support from interfering with copy/paste
|
|
set mouse=
|
|
set ttymouse=
|
|
|
|
" Searching Modifications
|
|
set hlsearch "highlight search matches
|
|
set incsearch
|
|
set ignorecase
|
|
set smartcase
|
|
|
|
" Tabs and Whitespace
|
|
if exists('+breakindent')
|
|
set breakindent
|
|
endif
|
|
set autoindent
|
|
set smartindent
|
|
set nowrap
|
|
set tabstop=4
|
|
set shiftwidth=4
|
|
set list listchars=tab:\ \ ,trail:.
|
|
|
|
" Command completion
|
|
set wildmenu
|
|
set wildignorecase
|
|
|
|
" Syntax Highlighting
|
|
syntax on
|
|
|
|
" Word count in plaintext formats
|
|
let g:airline#extensions#wordcount#enabled = 1
|
|
let g:airline#extensions#wordcount#filetypes = ['help', 'markdown', 'rst', 'org', 'text', 'asciidoc', 'tex', 'mail', 'pandoc']
|
|
|
|
" 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
|
|
|
|
" Create the file if you follow an orphaned link
|
|
let g:pandoc#hypertext#create_if_no_alternates_exists = 1
|
|
|
|
" Make link follows split horizontally since most of my terms are tall
|
|
" Also work around a netrw bug that opens every no-modify
|
|
let g:pandoc#hypertext#split_open_cmd = "botright split +set\\ modifiable"
|
|
|
|
" Allow folding at fold markers to let me collapse sub-sections of lists
|
|
let g:pandoc#folding#vim_markers_in_comments_only = 0
|
|
|
|
" 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>
|