let mapleader ="," if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"')) echo "Downloading junegunn/vim-plug to manage plugins..." silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/ silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim autocmd VimEnter * PlugInstall endif call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"')) Plug 'bling/vim-airline' Plug 'vimwiki/vimwiki' Plug 'junegunn/goyo.vim' Plug 'ap/vim-css-color' Plug 'tomasr/molokai' Plug 'michal-h21/vim-zettel' Plug 'michal-h21/vimwiki-sync' call plug#end() set title set go=a set mouse=a "set nohlsearch set clipboard+=unnamedplus set noshowmode set noruler set laststatus=0 set noshowcmd set scrolloff=7 set noswapfile set nobackup colorscheme bloomberg " make it so colorscheme respect xcompmgr hi Normal ctermbg=NONE hi NonText ctermbg=NONE " Some basics: nnoremap c "_c set nocompatible filetype plugin on syntax on set encoding=utf-8 set number relativenumber " Enable autocompletion: set wildmode=longest,list,full " Disables automatic commenting on newline: autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o " Splits open at the bottom and right, which is non-retarded, unlike vim defaults. set splitbelow splitright " Automatically deletes all trailing whitespace and newlines at end of file on save & reset cursor position. autocmd BufWritePre * let currPos = getpos(".") autocmd BufWritePre * %s/\s\+$//e autocmd BufWritePre * %s/\n\+\%$//e autocmd BufWritePre *.[ch] %s/\%$/\r/e " add trailing newline for ANSI C standard autocmd BufWritePre *neomutt* %s/^--$/-- /e " dash-dash-space signature delimiter in emails autocmd BufWritePre * cal cursor(currPos[1], currPos[2]) " When shortcut files are updated, renew configs with new material: autocmd BufWritePost bm-files,bm-dirs !shortcuts " Run xrdb whenever Xdefaults or Xresources are updated. autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb % " Ensure files are read the way I want let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} " Each path becomes its own wiki let g:vimwiki_list = [ \{'path': '~/.local/share/vimwiki', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Finance', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Finance/Fundamentals', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Finance/Research', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Finance/Research/Tickers', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Technology', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/Technology/Gentoo', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/vimwiki/👁️', 'syntax': 'markdown', 'ext': '.md'}, \{'path': '~/.local/share/Cuisine', 'syntax': 'markdown', 'ext': '.md'}] let g:vimwiki_sync_commit_message = 'Auto from nzxt - %c' autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff autocmd BufRead,BufNewFile *.tex set filetype=tex " Runs a script that cleans out tex build files whenever I close out of a .tex file. autocmd VimLeave *.tex !texclear % " Save file as sudo on files that require root permission cabbrev w!! execute 'silent! write !sudo tee % >/dev/null' edit! " Bindings " Spell-check set to o, 'o' for 'orthography': map o :setlocal spell! spelllang=en_us " Compile document, be it groff/LaTeX/markdown/etc. map c :w! \| !compiler "%" " Open corresponding .pdf/.html or preview map p :!opout % " Goyo plugin makes text more readable when writing prose: map f :Goyo \| set bg=light \| set linebreak " Enable Goyo by default for mutt writing "autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 "autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo "autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x! "autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!