Also remove line length configs from py linters in vimrc since we're configuring that properly now. Don't like having to repeat myself in pylintrc and black's conf but meh.
119 lines
3.6 KiB
VimL
119 lines
3.6 KiB
VimL
" 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=<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>
|