let mapleader ="," if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) echo "Downloading junegunn/vim-plug to manage plugins..." silent !mkdir -p ~/.config/nvim/autoload/ silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim endif call plug#begin('~/.config/nvim/plugged') Plug 'tpope/vim-surround' Plug 'scrooloose/nerdtree' Plug 'junegunn/goyo.vim' Plug 'PotatoesMaster/i3-vim-syntax' Plug 'jreybert/vimagit' Plug 'LukeSmithxyz/vimling' Plug 'vimwiki/vimwiki' Plug 'bling/vim-airline' Plug 'tpope/vim-commentary' Plug 'vifm/vifm.vim' call plug#end() set bg=light set go=a set mouse=a set nohlsearch set clipboard=unnamedplus " 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 " Goyo plugin makes text more readable when writing prose: map f :Goyo \| set bg=light \| set linebreak " Spell-check set to o, 'o' for 'orthography': map o :setlocal spell! spelllang=en_us " Splits open at the bottom and right, which is non-retarded, unlike vim defaults. set splitbelow splitright " Nerd tree map n :NERDTreeToggle autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif " vimling: nm d :call ToggleDeadKeys() imap d :call ToggleDeadKeys()a nm i :call ToggleIPA() imap i :call ToggleIPA()a nm q :call ToggleProse() " Shortcutting split navigation, saving a keypress: map h map j map k map l " Check file in shellcheck: map s :!clear && shellcheck % " Open my bibliography file in split map b :vsp$BIB map r :vsp$REFER " Replace all is aliased to S. nnoremap S :%s//g " Compile document, be it groff/LaTeX/markdown/etc. map c :w! \| !compiler % " Open corresponding .pdf/.html or preview map p :!opout % " Runs a script that cleans out tex build files whenever I close out of a .tex file. autocmd VimLeave *.tex !texclear % " Ensure files are read as what I want: let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.md'}] 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 " Copy selected text to system clipboard (requires gvim/nvim/vim-x11 installed): vnoremap "+y map "+P " Enable Goyo by default for mutt writting " Goyo's width will be the line limit in mutt. autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo \| set bg=light " Automatically deletes all trailing whitespace on save. autocmd BufWritePre * %s/\s\+$//e " When shortcut files are updated, renew bash and vifm configs with new material: autocmd BufWritePost ~/.config/bmdirs,~/.config/bmfiles !shortcuts " Run xrdb whenever Xdefaults or Xresources are updated. autocmd BufWritePost *Xresources,*Xdefaults !xrdb % " Navigating with guides inoremap /<++>"_c4l vnoremap /<++>"_c4l map /<++>"_c4l """LATEX " Word count: autocmd FileType tex map w :w !detex \| wc -w " Code snippets autocmd FileType tex inoremap ,fr \begin{frame}\frametitle{}<++>\end{frame}<++>6kf}i autocmd FileType tex inoremap ,fi \begin{fitch}\end{fitch}<++>3kA autocmd FileType tex inoremap ,exe \begin{exe}\ex\end{exe}<++>3kA autocmd FileType tex inoremap ,em \emph{}<++>T{i autocmd FileType tex inoremap ,bf \textbf{}<++>T{i autocmd FileType tex vnoremap , ``>2la}?\\{a autocmd FileType tex inoremap ,it \textit{}<++>T{i autocmd FileType tex inoremap ,ct \textcite{}<++>T{i autocmd FileType tex inoremap ,cp \parencite{}<++>T{i autocmd FileType tex inoremap ,glos {\gll<++>\\<++>\\\trans{``<++>''}}2k2bcw autocmd FileType tex inoremap ,x \begin{xlist}\ex\end{xlist}kA autocmd FileType tex inoremap ,ol \begin{enumerate}\end{enumerate}<++>3kA\item autocmd FileType tex inoremap ,ul \begin{itemize}\end{itemize}<++>3kA\item autocmd FileType tex inoremap ,li \item autocmd FileType tex inoremap ,ref \ref{}<++>T{i autocmd FileType tex inoremap ,tab \begin{tabular}<++>\end{tabular}<++>4kA{}i autocmd FileType tex inoremap ,ot \begin{tableau}\inp{<++>}\const{<++>}<++><++>\end{tableau}<++>5kA{}i autocmd FileType tex inoremap ,can \cand{}<++>T{i autocmd FileType tex inoremap ,con \const{}<++>T{i autocmd FileType tex inoremap ,v \vio{}<++>T{i autocmd FileType tex inoremap ,a \href{}{<++>}<++>2T{i autocmd FileType tex inoremap ,sc \textsc{}<++>T{i autocmd FileType tex inoremap ,chap \chapter{}<++>2kf}i autocmd FileType tex inoremap ,sec \section{}<++>2kf}i autocmd FileType tex inoremap ,ssec \subsection{}<++>2kf}i autocmd FileType tex inoremap ,sssec \subsubsection{}<++>2kf}i autocmd FileType tex inoremap ,st F{i*f}i autocmd FileType tex inoremap ,beg \begin{DELRN}<++>\end{DELRN}<++>4k0fR:MultipleCursorsFindDELRNc autocmd FileType tex inoremap ,up /usepackageo\usepackage{}i autocmd FileType tex nnoremap ,up /usepackageo\usepackage{}i autocmd FileType tex inoremap ,tt \texttt{}<++>T{i autocmd FileType tex inoremap ,bt {\blindtext} autocmd FileType tex inoremap ,nu $\varnothing$ autocmd FileType tex inoremap ,col \begin{columns}[T]\begin{column}{.5\textwidth}\end{column}\begin{column}{.5\textwidth}<++>\end{column}\end{columns}5kA autocmd FileType tex inoremap ,rn (\ref{})<++>F}i """HTML autocmd FileType html inoremap ,b <++>FbT>i autocmd FileType html inoremap ,it <++>FeT>i autocmd FileType html inoremap ,1

<++>2kf<++>2kf<++>2kf

<++>02kf>a autocmd FileType html inoremap ,a href=""><++><++>14hi autocmd FileType html inoremap ,e target="_blank"href=""><++><++>14hi autocmd FileType html inoremap ,ul
<++>03kfo
  • F>a autocmd FileType html inoremap ,ol
    <++>03kf<++>Fcf"a autocmd FileType html inoremap ,td <++>Fdcit autocmd FileType html inoremap ,tr <++>kf<++>Fhcit autocmd FileType html inoremap ,tab
    O autocmd FileType html inoremap ,gr F>a autocmd FileType html inoremap ,rd F>a autocmd FileType html inoremap ,yl F>a autocmd FileType html inoremap ,dt
    <++>
    <++>2kcit autocmd FileType html inoremap ,dl
    <++>3kcc autocmd FileType html inoremap & & autocmd FileType html inoremap á á autocmd FileType html inoremap é é autocmd FileType html inoremap í í autocmd FileType html inoremap ó ó autocmd FileType html inoremap ú ú autocmd FileType html inoremap ä ä autocmd FileType html inoremap ë ë autocmd FileType html inoremap ï ï autocmd FileType html inoremap ö ö autocmd FileType html inoremap ü ü autocmd FileType html inoremap ã ã autocmd FileType html inoremap ẽ &etilde; autocmd FileType html inoremap ĩ ĩ autocmd FileType html inoremap õ õ autocmd FileType html inoremap ũ ũ autocmd FileType html inoremap ñ ñ autocmd FileType html inoremap à à autocmd FileType html inoremap è è autocmd FileType html inoremap ì ì autocmd FileType html inoremap ò ò autocmd FileType html inoremap ù ù """.bib autocmd FileType bib inoremap ,a @article{author={<++>},year={<++>},title={<++>},journal={<++>},volume={<++>},pages={<++>},}<++>8kA,i autocmd FileType bib inoremap ,b @book{author={<++>},year={<++>},title={<++>},publisher={<++>},}<++>6kA,i autocmd FileType bib inoremap ,c @incollection{author={<++>},title={<++>},booktitle={<++>},editor={<++>},year={<++>},publisher={<++>},}<++>8kA,i "MARKDOWN autocmd Filetype markdown,rmd map w yiWi[Ea](pa) autocmd Filetype markdown,rmd inoremap ,n --- autocmd Filetype markdown,rmd inoremap ,b ****<++>F*hi autocmd Filetype markdown,rmd inoremap ,s ~~~~<++>F~hi autocmd Filetype markdown,rmd inoremap ,e **<++>F*i autocmd Filetype markdown,rmd inoremap ,h ====<++>F=hi autocmd Filetype markdown,rmd inoremap ,i ![](<++>)<++>F[a autocmd Filetype markdown,rmd inoremap ,a [](<++>)<++>F[a autocmd Filetype markdown,rmd inoremap ,1 #<++>kA autocmd Filetype markdown,rmd inoremap ,2 ##<++>kA autocmd Filetype markdown,rmd inoremap ,3 ###<++>kA autocmd Filetype markdown,rmd inoremap ,l -------- autocmd Filetype rmd inoremap ,r ```{r}```2kO autocmd Filetype rmd inoremap ,p ```{python}```2kO autocmd Filetype rmd inoremap ,c ``````2kO """.xml autocmd FileType xml inoremap ,e <++>isPermaLink="false"><++>:put=strftime('%a, %d %b %Y %H:%M:%S %z')kJA<++>]]>?<enter>cit autocmd FileType xml inoremap ,a <a href="<++>"><++></a><++><Esc>F"ci"