- Add comments for uncommented things - Remove ancient pre-vim 7 conditionals - Normalize spacing in sets and lets - Make tabs visible - Change trailing space visibilty from period to floating dot - Tune up ALE python linting with pep8, black, isort
124 lines
3.8 KiB
VimL
124 lines
3.8 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']
|
|
\}
|
|
|
|
" Set python line length in all the linters/fixers
|
|
let g:ale_python_pylint_options = '--max-line-length 119'
|
|
let g:ale_python_autopep8_options = '--max-line-length 119'
|
|
let g:ale_python_black_options = '-l 119'
|
|
|
|
" 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>
|