" _ _ ____ _ _ _ _ _
" | | _ _| | _____ / ___| _ __ ___ (_) |_| |__ ( )___ __ _(_)_ __ ___ _ __ ___
" | | | | | | |/ / _ \ \___ \| '_ ` _ \| | __| '_ \|// __| \ \ / / | '_ ` _ \| '__/ __|
" | |__| |_| | < __/ ___) | | | | | | | |_| | | | \__ \ \ V /| | | | | | | | | (__
" |_____\__,_|_|\_\___| |____/|_| |_| |_|_|\__|_| |_| |___/ \_/ |_|_| |_| |_|_| \___|
" Load Pathogen for plugins:
execute pathogen#infect()
execute pathogen#helptags()
" Some basics:
set nocompatible
filetype plugin on
syntax on
"colorscheme wal
set encoding=utf-8
set number
set relativenumber
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
set splitbelow
set splitright
" Shortcutting split navigation, saving a keypress:
map h
map j
map k
map l
" Replace all is aliased to S.
nnoremap S :%s//g
" Open my bibliography file in split
map :vsp~/Documents/LaTeX/uni.bib
" Open the selected text in a split (i.e. should be a file).
map o "oyaW:sp o
xnoremap o "oy:sp o
vnoremap o "oy:sp o
"For saving view folds:
"au BufWinLeave * mkview
"au BufWinEnter * silent loadview
" Interpret .md files, etc. as .markdown
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
" Make calcurse notes markdown compatible:
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
" Spell-check set to F6:
map :setlocal spell! spelllang=en_us,es
" Toggle DeadKeys set to F7 (for accent marks):
so ~/.vim/luke/deadkeys.vim
nm :call ToggleDeadKeys()
" Source my IPA shorcuts:
map i :so ~/.vim/luke/ipa.vim
" Use urlview to choose and open a url:
:noremap u :wsilent !urlview
" Copy selected text to system clipboard (requires xclip installed):
vnoremap "cy:!echo -n 'c' \|xclip
" Goyo plugin makes text more readable when writing prose:
map :Goyo
inoremap :Goyoa
" Enable Goyo by default for mutt writting
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=72
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
" Goyo's width will be the line limit in mutt.
" Enable autocompletion:
set wildmode=longest,list,full
set wildmenu
" Automatically deletes all tralling whitespace on save.
autocmd BufWritePre * %s/\s\+$//e
" When shortcut files are updated, renew bash and ranger configs with new
" material:
autocmd BufWritePost ~/.config/Scripts/folders,~/.config/Scripts/configs !bash ~/.config/Scripts/shortcuts.sh
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
autocmd VimLeave *.tex !texclear
" Disables automatic commenting on newline:
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" C-T for new tab
nnoremap :tabnew
" Navigating with guides
inoremap /<++>"_c4l
vnoremap /<++>"_c4l
map /<++>"_c4l
inoremap ;gui <++>
" For normal mode when in terminals (in X I have caps mapped to esc, this replaces it when I don't have X)
inoremap jw
inoremap wj
"____ _ _
"/ ___| _ __ (_)_ __ _ __ ___| |_ ___
"\___ \| '_ \| | '_ \| '_ \ / _ \ __/ __|
"___) | | | | | |_) | |_) | __/ |_\__ \
"|____/|_| |_|_| .__/| .__/ \___|\__|___/
"|_| |_|
"""LATEX
" Word count:
autocmd FileType tex map :w !detex \| wc -w
autocmd FileType tex inoremap :w !detex \| wc -w
" Compile document using xelatex:
autocmd FileType tex inoremap :!xelatex%a
autocmd FileType tex nnoremap :!xelatex%
" 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
"""LATEX Logical symbols
autocmd FileType tex inoremap ;m $$<++>2T$i
autocmd FileType tex inoremap ;M $$$$<++>2k$hi
autocmd FileType tex inoremap ;neg {\neg}
autocmd FileType tex inoremap ;V {\vee}
autocmd FileType tex inoremap ;or {\vee}
autocmd FileType tex inoremap ;L {\wedge}
autocmd FileType tex inoremap ;and {\wedge}
autocmd FileType tex inoremap ;ra {\rightarrow}
autocmd FileType tex inoremap ;la {\leftarrow}
autocmd FileType tex inoremap ;lra {\leftrightarrow}
autocmd FileType tex inoremap ;fa {\forall}
autocmd FileType tex inoremap ;ex {\exists}
autocmd FileType tex inoremap ;dia {\Diamond}
autocmd FileType tex inoremap ;box {\Box}
autocmd FileType tex inoremap ;gt {\textgreater}
autocmd FileType tex inoremap ;lt {\textless}
"""LaTeX Linguistics Shortcuts
autocmd Filetype tex inoremap ;nom {\textsc{nom}}
autocmd FileType tex inoremap ;acc {\textsc{acc}}
autocmd FileType tex inoremap ;dat {\textsc{dat}}
autocmd FileType tex inoremap ;gen {\textsc{gen}}
autocmd FileType tex inoremap ;abl {\textsc{abl}}
autocmd FileType tex inoremap ;voc {\textsc{voc}}
autocmd FileType tex inoremap ;loc {\textsc{loc}}
autocmd Filetype tex inoremap ;inst {\textsc{inst}}
autocmd FileType tex inoremap ;tipa \textipa{}<++>T{i
"""PHP/HTML
autocmd FileType php,html inoremap ;b <++>FbT>i
autocmd FileType php,html inoremap ;i <++>FeT>i
autocmd FileType php,html inoremap ;h1 <++>2kf<++>2kf<++>2kf
<++>02kf>a
autocmd FileType php,html inoremap ;a href=""><++><++>14hi
autocmd FileType php,html inoremap ;e target="_blank"href=""><++><++>14hi
autocmd FileType php,html inoremap ;ul <++>03kfoF>a
autocmd FileType php,html inoremap ;ol
<++>03kfclass="image">href="pix/<++>">src="pix/<++>"width="<++>"> |
<++>4kf>a
autocmd FileType php,html inoremap ;td | <++>Fdcit
autocmd FileType php,html inoremap ;tr
<++>kf<++>Fhcit
autocmd FileType php,html inoremap ;tab O
autocmd FileType php,html inoremap ;gr F>a
autocmd FileType php,html inoremap ;rd F>a
autocmd FileType php,html inoremap ;yl F>a
autocmd FileType php,html inoremap ;dt <++><++>2kcit
autocmd FileType php,html inoremap ;dl
<++>3kcc
"autocmd FileType php,html inoremap -- –
"autocmd FileType php,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 markdown map :!pandoc%-o%.pdf
autocmd Filetype rmd map :!echo"require(rmarkdown);render('%')"\|R--vanilla
autocmd Filetype rmd inoremap ;r ```{r}```2kO
autocmd Filetype rmd inoremap ;p ```{python}```2kO
""".xml
"autocmd FileType xml inoremap ;e - <++>:put=strftime('%c')A<++><++>
autocmd FileType xml inoremap ;e - <++>:put=strftime('%c')A<++>]]>
5kcit
autocmd FileType xml inoremap ;a <++><++>F"ci"
vmap ++ VMATH_YankAndAnalyse()
nmap ++ vip++
vnoremap K xkP`[V`]
vnoremap J xp`[V`]
vnoremap L >gv
vnoremap H