235 lines
12 KiB
VimL
235 lines
12 KiB
VimL
" Load Pathogen for plugins:
|
|
execute pathogen#infect()
|
|
execute pathogen#helptags()
|
|
|
|
" Some basics:
|
|
set nocompatible
|
|
filetype plugin on
|
|
"colorscheme wal
|
|
syntax on
|
|
set encoding=utf-8
|
|
set number
|
|
set relativenumber
|
|
|
|
"au BufWinLeave * mkview
|
|
"au BufWinEnter * silent loadview
|
|
let g:instant_markdown_autostart = 0
|
|
|
|
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} "Interpret .md files, etc. as .markdown
|
|
|
|
"Make calcurse notes markdown compatible:
|
|
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
|
|
|
|
"Spell-check set to F6:
|
|
map <F6> :setlocal spell! spelllang=en_us,es<CR>
|
|
|
|
"Toggle DeadKeys set to F7 (for accent marks):
|
|
so ~/.vim/luke/deadkeys.vim
|
|
nm <F7> :call ToggleDeadKeys()<CR>
|
|
|
|
"Goyo plugin makes text more readable when writing prose:
|
|
map <F10> :Goyo<CR>
|
|
inoremap <F10> <esc>:Goyo<CR>a
|
|
|
|
"Enable Goyo by default for mutt writting
|
|
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=72
|
|
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
|
|
|
|
"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
|
|
|
|
" Use urlview to choose and open a url:
|
|
:noremap <leader>u :w<Home>silent <End> !urlview<CR>
|
|
|
|
"Copy selected text to system clipboard (requires gvim installed):
|
|
vnoremap <C-c> "+y
|
|
|
|
"C-T for new tab
|
|
nnoremap <C-t> :tabnew<cr>
|
|
|
|
"""BASIC TOOLS
|
|
"Navigating with guides
|
|
inoremap <Space><Tab> <Esc>/<++><Enter>"_c4l
|
|
vnoremap <Space><Tab> <Esc>/<++><Enter>"_c4l
|
|
map <Space><Tab> <Esc>/<++><Enter>"_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 <Esc>
|
|
inoremap wj <Esc>
|
|
"Shortcutting split navigation, saving a keypress:
|
|
map <C-h> <C-w>h
|
|
map <C-j> <C-w>j
|
|
map <C-k> <C-w>k
|
|
map <C-l> <C-w>l
|
|
|
|
"Replace all is aliased to S. Visual mode shortcut doesn't work yet for some
|
|
"reason...
|
|
nnoremap S :%s//g<Left><Left>
|
|
vnoremap S noop
|
|
vnoremap S :s//g<Left><Left>
|
|
|
|
"""LATEX
|
|
" Word count:
|
|
autocmd FileType tex map <F3> :w !detex \| wc -w<CR>
|
|
autocmd FileType tex inoremap <F3> <Esc>:w !detex \| wc -w<CR>
|
|
" Compile document using xelatex:
|
|
autocmd FileType tex inoremap <F5> <Esc>:!xelatex<spacE><c-r>%<Enter>a
|
|
autocmd FileType tex nnoremap <F5> :!xelatex<spacE><c-r>%<Enter>
|
|
" Code snippets
|
|
autocmd FileType tex inoremap ;fr \begin{frame}<Enter>\frametitle{}<Enter><Enter><++><Enter><Enter>\end{frame}<Enter><Enter><++><Esc>6kf}i
|
|
autocmd FileType tex inoremap ;fi \begin{fitch}<Enter><Enter>\end{fitch}<Enter><Enter><++><Esc>3kA
|
|
autocmd FileType tex inoremap ;exe \begin{exe}<Enter>\ex<Space><Enter>\end{exe}<Enter><Enter><++><Esc>3kA
|
|
autocmd FileType tex inoremap ;em \emph{}<++><Esc>T{i
|
|
autocmd FileType tex inoremap ;bf \textbf{}<++><Esc>T{i
|
|
autocmd FileType tex vnoremap ; <ESC>`<i\{<ESC>`>2la}<ESC>?\\{<Enter>a
|
|
"autocmd FileType tex vnoremap : <ESC>`<i{\<ESC>`>2la}<ESC>?{\\<Enter>la
|
|
autocmd FileType tex inoremap {{ <Esc>F{i
|
|
autocmd FileType tex inoremap }} <Esc>f}a
|
|
autocmd FileType tex inoremap ;it \textit{}<++><Esc>T{i
|
|
autocmd FileType tex inoremap ;ct \textcite{}<++><Esc>T{i
|
|
autocmd FileType tex inoremap ;cp \parencite{}<++><Esc>T{i
|
|
autocmd FileType tex inoremap ;glos {\gll<Space><++><Space>\\<Enter><++><Space>\\<Enter>\trans{``<++>''}}<Esc>2k2bcw
|
|
autocmd FileType tex inoremap ;x \begin{xlist}<Enter>\ex<Space><Enter>\end{xlist}<Esc>kA<Space>
|
|
autocmd FileType tex inoremap ;ol \begin{enumerate}<Enter><Enter>\end{enumerate}<Enter><Enter><++><Esc>3kA\item<Space>
|
|
autocmd FileType tex inoremap ;ul \begin{itemize}<Enter><Enter>\end{itemize}<Enter><Enter><++><Esc>3kA\item<Space>
|
|
autocmd FileType tex inoremap ;li <Enter>\item<Space>
|
|
autocmd FileType tex inoremap ;ref \ref{}<Space><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;tab \begin{tabular}<Enter><++><Enter>\end{tabular}<Enter><Enter><++><Esc>4kA{}<Esc>i
|
|
autocmd FileType tex inoremap ;ot \begin{tableau}<Enter>\inp{<++>}<Tab>\const{<++>}<Tab><++><Enter><++><Enter>\end{tableau}<Enter><Enter><++><Esc>5kA{}<Esc>i
|
|
autocmd FileType tex inoremap ;can \cand{}<Tab><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;con \const{}<Tab><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;v \vio{}<Tab><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;a \href{}{<++>}<Space><++><Esc>2T{i
|
|
autocmd FileType tex inoremap ;sc \textsc{}<Space><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;chap \chapter{}<Enter><Enter><++><Esc>2kf}i
|
|
autocmd FileType tex inoremap ;sec \section{}<Enter><Enter><++><Esc>2kf}i
|
|
autocmd FileType tex inoremap ;ssec \subsection{}<Enter><Enter><++><Esc>2kf}i
|
|
autocmd FileType tex inoremap ;sssec \subsubsection{}<Enter><Enter><++><Esc>2kf}i
|
|
autocmd FileType tex inoremap ;st <Esc>F{i*<Esc>f}i
|
|
autocmd FileType tex inoremap ;beg \begin{DELRN}<Enter><++><Enter>\end{DELRN}<Enter><Enter><++><Esc>4k0fR:MultipleCursorsFind<Space>DELRN<Enter>c
|
|
autocmd FileType tex inoremap ;up <Esc>/usepackage<Enter>o\usepackage{}<Esc>i
|
|
autocmd FileType tex nnoremap ;up /usepackage<Enter>o\usepackage{}<Esc>i
|
|
autocmd FileType tex inoremap ;tt \texttt{}<Space><++><Esc>T{i
|
|
autocmd FileType tex inoremap ;bt {\blindtext}
|
|
autocmd FileType tex inoremap ;nu $\varnothing$
|
|
autocmd FileType tex inoremap ;col \begin{columns}[T]<Enter>\begin{column}{.5\textwidth}<Enter><Enter>\end{column}<Enter>\begin{column}{.5\textwidth}<Enter><++><Enter>\end{column}<Enter>\end{columns}<Esc>5kA
|
|
autocmd FileType tex inoremap ;rn (\ref{})<++><Esc>F}i
|
|
|
|
"""LATEX Logical symbols
|
|
autocmd FileType tex inoremap ;m $$<Space><++><Esc>2T$i
|
|
autocmd FileType tex inoremap ;M $$$$<Enter><Enter><++><Esc>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{}<Space><++><Esc>T{i
|
|
|
|
"For Indo-European
|
|
"autocmd FileType tex inoremap ;dh d\textsuperscript{h}
|
|
"autocmd FileType tex inoremap ;bh b\textsuperscript{h}
|
|
"autocmd FileType tex inoremap ;gh g\textsuperscript{h}
|
|
"autocmd FileType tex inoremap ;gwh g\textsuperscript{hw}
|
|
"autocmd FileType tex inoremap ;kw k\textsuperscript{w}
|
|
"autocmd FileType tex inoremap ;gw g\textsuperscript{w}
|
|
"autocmd FileType tex inoremap ;h1 {h\textsubscript{1}}
|
|
"autocmd FileType tex inoremap ;h2 {h\textsubscript{2}}
|
|
"autocmd FileType tex inoremap ;h3 {h\textsubscript{3}}
|
|
"autocmd FileType tex inoremap ;h4 {h\textsubscript{4}}
|
|
|
|
|
|
"""PHP
|
|
autocmd FileType php,html inoremap ;b <b></b><Space><++><Esc>FbT>i
|
|
autocmd FileType php,html inoremap ;i <em></em><Space><++><Esc>FeT>i
|
|
autocmd FileType php,html inoremap ;h1 <h1></h1><Enter><Enter><++><Esc>2kf<i
|
|
autocmd FileType php,html inoremap ;h2 <h2></h2><Enter><Enter><++><Esc>2kf<i
|
|
autocmd FileType php,html inoremap ;h3 <h3></h3><Enter><Enter><++><Esc>2kf<i
|
|
autocmd FileType php,html inoremap ;p <p></p><Enter><Enter><++><Esc>02kf>a
|
|
autocmd FileType php,html inoremap ;a <a<Space>href=""><++></a><Space><++><Esc>14hi
|
|
autocmd FileType php,html inoremap ;e <a<Space>target="_blank"<Space>href=""><++></a><Space><++><Esc>14hi
|
|
autocmd FileType php,html inoremap ;ul <ul><Enter><li></li><Enter></ul><Enter><Enter><++><Esc>03kf<i
|
|
autocmd FileType php,html inoremap ;li <Esc>o<li></li><Esc>F>a
|
|
autocmd FileType php,html inoremap ;ol <ol><Enter><li></li><Enter></ol><Enter><Enter><++><Esc>03kf<i
|
|
autocmd FileType php,html inoremap ;im <table<Space>class="image"><Enter><caption align="bottom"></caption><Enter><tr><td><a<space>href="pix/<++>"><img<Space>src="pix/<++>"<Space>width="<++>"></a></td></tr><Enter></table><Enter><Enter><++><Esc>4kf>a
|
|
autocmd FileType php,html inoremap ;td <td></td><++><Esc>Fdcit
|
|
autocmd FileType php,html inoremap ;tr <tr></tr><Enter><++><Esc>kf<i
|
|
autocmd FileType php,html inoremap ;th <th></th><++><Esc>Fhcit
|
|
autocmd FileType php,html inoremap ;tab <table><Enter></table><Esc>O
|
|
autocmd FileType php,html inoremap ;gr <font color="green"></font><Esc>F>a
|
|
autocmd FileType php,html inoremap ;rd <font color="red"></font><Esc>F>a
|
|
autocmd FileType php,html inoremap ;yl <font color="yellow"></font><Esc>F>a
|
|
autocmd FileType php,html inoremap ;dt <dt></dt><Enter><dd><++></dd><Enter><++><esc>2kcit
|
|
autocmd FileType php,html inoremap ;dl <dl><Enter><Enter></dl><enter><enter><++><esc>3kcc
|
|
"autocmd FileType php,html inoremap -- –
|
|
"autocmd FileType php,html inoremap --- —
|
|
|
|
|
|
""".bib
|
|
autocmd FileType bib inoremap ;a @article{<Enter>author<Space>=<Space>"<++>",<Enter>year<Space>=<Space>"<++>",<Enter>title<Space>=<Space>"<++>",<Enter>journal<Space>=<Space>"<++>",<Enter>volume<Space>=<Space>"<++>",<Enter>pages<Space>=<Space>"<++>",<Enter>}<Enter><++><Esc>8kA,<Esc>i
|
|
autocmd FileType bib inoremap ;b @book{<Enter>author<Space>=<Space>"<++>",<Enter>year<Space>=<Space>"<++>",<Enter>title<Space>=<Space>"<++>",<Enter>publisher<Space>=<Space>"<++>",<Enter>}<Enter><++><Esc>6kA,<Esc>i
|
|
autocmd FileType bib inoremap ;c @incollection{<Enter>author<Space>=<Space>"<++>",<Enter>title<Space>=<Space>"<++>",<Enter>booktitle<Space>=<Space>"<++>",<Enter>editor<Space>=<Space>"<++>",<Enter>year<Space>=<Space>"<++>",<Enter>publisher<Space>=<Space>"<++>",<Enter>}<Enter><++><Esc>8kA,<Esc>i
|
|
|
|
"MARKDOWN
|
|
autocmd Filetype markdown,rmd inoremap ;n ---<Enter><Enter>
|
|
autocmd Filetype markdown,rmd inoremap ;b ****<++><Esc>F*hi
|
|
autocmd Filetype markdown,rmd inoremap ;s ~~~~<++><Esc>F~hi
|
|
autocmd Filetype markdown,rmd inoremap ;e **<++><Esc>F*i
|
|
autocmd Filetype markdown,rmd inoremap ;h ====<Space><++><Esc>F=hi
|
|
autocmd Filetype markdown,rmd inoremap ;i ![](<++>)<++><Esc>F[a
|
|
autocmd Filetype markdown,rmd inoremap ;a [](<++>)<++><Esc>F[a
|
|
autocmd Filetype markdown,rmd inoremap ;1 #<Space><Enter><++><Esc>kA
|
|
autocmd Filetype markdown,rmd inoremap ;2 ##<Space><Enter><++><Esc>kA
|
|
autocmd Filetype markdown,rmd inoremap ;3 ###<Space><Enter><++><Esc>kA
|
|
autocmd Filetype markdown,rmd inoremap ;l --------<Enter>
|
|
autocmd Filetype markdown map <F5> :!pandoc<space><C-r>%<space>-o<space><C-r>%.pdf<Enter><Enter>
|
|
autocmd Filetype rmd map <F5> :!echo<space>"require(rmarkdown);<space>render('<c-r>%')"<space>\|<space>R<space>--vanilla<enter>
|
|
autocmd Filetype rmd inoremap ;r ```{r,<space>echo=TRUE}<CR>```<CR><CR><esc>2kO
|
|
|
|
""".xml
|
|
"autocmd FileType xml inoremap ;e <item><Enter><title><++></title><Enter><pubDate><Esc>:put<Space>=strftime('%c')<Enter>A</pubDate><Enter><link><++></link><Enter><description><++></description><Enter></item>
|
|
autocmd FileType xml inoremap ;e <item><Enter><title><++></title><Enter><pubDate><Esc>:put<Space>=strftime('%c')<Enter>A</pubDate><Enter><link><++></link><Enter><description><![CDATA[<++>]]></description><Enter></item><Esc>5kcit
|
|
autocmd FileType xml inoremap ;a <a href="<++>"><++></a><++><Esc>F"ci"
|
|
|
|
"Insert the time:
|
|
noremap ;time :put<Space>=strftime('%c')<Enter>
|
|
inoremap ;time <esc>:put<Space>=strftime('%c')<Enter>
|
|
|
|
|
|
vmap <expr> ++ VMATH_YankAndAnalyse()
|
|
nmap ++ vip++
|
|
|
|
vnoremap K xkP`[V`]
|
|
vnoremap J xp`[V`]
|
|
vnoremap L >gv
|
|
vnoremap H <gv
|
|
|
|
so ~/.vim/luke/ipa.vim
|