" Hack my TERM to get around vim ignoring terminfo 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' 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 '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'], \'python': ['autopep8', 'black', 'isort'], \'elixir': ['mix_format'] \} " Visual themeing set termguicolors "Enable 256 colors set t_Co=256 "Limit vim to 256 colors set scrolloff=5 "Always display 5 lines below cursor when scrolling colorscheme base16 "Use my custom built color scheme let g:airline_theme='base16' "Use the scheme for airline too set background=dark "Inform vim I use a black background terminal let g:airline_powerline_fonts=1 "Use powerline glyphs in airline " 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 "enable incremental search set ignorecase "ignore case in search set smartcase " ...unless you specify case yourself " Tabs and Whitespace set breakindent "add soft indents when soft wrapping set autoindent "try to figure out automatic indents while writing code set smartindent " ...and try to figure it out based on language set nowrap "don't soft wrap by default set tabstop=4 set shiftwidth=4 "display special glyphs for tabs and trailing whitespace set list listchars=tab:»·,trail:· " dmenu style 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 everything 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=[201~ set paste return a:ret endfunction map [200~ XTermPasteBegin("i") imap [200~ XTermPasteBegin("") cmap [200~ cmap [201~