diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
new file mode 100644
index 0000000..a050da8
--- /dev/null
+++ b/.config/nvim/init.vim
@@ -0,0 +1,215 @@
+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
+
+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
+
+" Update binds when sxhkdrc is updated.
+ autocmd BufWritePost *sxhkdrc !pkill -USR1 sxhkd
+
+" 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 <++>03kfoF>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<++>]]>
?cit
+ autocmd FileType xml inoremap ,a <++><++>F"ci"