|
|
@ -27,7 +27,7 @@ colorscheme base16-gruvbox-dark-hard |
|
|
|
set autoread |
|
|
|
set autoread |
|
|
|
|
|
|
|
|
|
|
|
" Turn on mouse Interaction |
|
|
|
" Turn on mouse Interaction |
|
|
|
set mouse=a |
|
|
|
" set mouse=a |
|
|
|
|
|
|
|
|
|
|
|
" Set spelcheck language |
|
|
|
" Set spelcheck language |
|
|
|
set spelllang=en_gb |
|
|
|
set spelllang=en_gb |
|
|
@ -94,8 +94,10 @@ set cursorline |
|
|
|
let &t_SI = "\e[5 q" |
|
|
|
let &t_SI = "\e[5 q" |
|
|
|
let &t_EI = "\e[1 q" |
|
|
|
let &t_EI = "\e[1 q" |
|
|
|
|
|
|
|
|
|
|
|
" optional reset cursor on start: |
|
|
|
" reset cursor on start |
|
|
|
augroup myCmds |
|
|
|
" In zsh I have a bar when in insert mode and a box when in visual. I want |
|
|
|
|
|
|
|
" vim to automatically switch to a box when I open it |
|
|
|
|
|
|
|
augroup cursorToBox |
|
|
|
au! |
|
|
|
au! |
|
|
|
autocmd VimEnter * silent !echo -ne "\e[1 q" |
|
|
|
autocmd VimEnter * silent !echo -ne "\e[1 q" |
|
|
|
augroup END |
|
|
|
augroup END |
|
|
@ -151,202 +153,27 @@ let g:fzf_command_prefix = 'Fzf' |
|
|
|
nnoremap <leader>f = :FzfFiles<cr> |
|
|
|
nnoremap <leader>f = :FzfFiles<cr> |
|
|
|
nnoremap <leader>b = :FzfBuffers<cr> |
|
|
|
nnoremap <leader>b = :FzfBuffers<cr> |
|
|
|
nnoremap <leader>h = :FzfHelptags<cr> |
|
|
|
nnoremap <leader>h = :FzfHelptags<cr> |
|
|
|
nnoremap <leader>/ = :FzfRg |
|
|
|
nnoremap <leader>/ = :FzfRg |
|
|
|
|
|
|
|
|
|
|
|
" typescript |
|
|
|
" typescript |
|
|
|
let g:typescript_indent_disable = 1 |
|
|
|
let g:typescript_indent_disable = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" deoplete |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" If I am running neovim, I want deoplete to start |
|
|
|
|
|
|
|
if has('nvim') |
|
|
|
|
|
|
|
let g:deoplete#enable_at_startup = 1 |
|
|
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Quick tex options {{{2 |
|
|
|
|
|
|
|
" HTML {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_html = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \';b' : "<b><+++></b> <++>", |
|
|
|
|
|
|
|
" \';i' : "<em><+++></em> <++>", |
|
|
|
|
|
|
|
" \';1' : "<h1><+++></h1> <++>", |
|
|
|
|
|
|
|
" \';2' : "<h2><+++></h2> <++>", |
|
|
|
|
|
|
|
" \';3' : "<h3><+++></h3> <++>", |
|
|
|
|
|
|
|
" \';p' : "<p><+++></p> <++>", |
|
|
|
|
|
|
|
" \';a' : "<a href=\"<++>\"><+++></a> <++>", |
|
|
|
|
|
|
|
" \';ul' : "<ul>\<CR><li><+++></li>\<CR></ul>\<CR>\<CR><++>", |
|
|
|
|
|
|
|
" \';ol' : "<ol>\<CR><li><+++></li>\<CR></ol>\<CR>\<CR><++>", |
|
|
|
|
|
|
|
" \';li' : "<li><++></li>", |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" " CSS {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_css = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'w' : "width: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'h' : "height: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'mw' : "max-width: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'mh' : "max-height: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'t' : "top: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'b' : "bottom: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'l' : "left: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'r' : "right: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'pos' : "position: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'m' : "margin: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'mt' : "margin-top: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'mb' : "margin-bottom: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'ml' : "margin-left: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'mr' : "margin-right: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'p' : "padding: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'pt' : "padding-top: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'pb' : "padding-bottom: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'pl' : "padding-left: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'pr' : "padding-right: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'bor' : "border: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'bort' : "border-top: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'borb' : "border-bottom: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'borl' : "border-left: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \'borr' : "border-right: <+++>;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \';abs' : "position: absolute;\<CR><++>", |
|
|
|
|
|
|
|
" \';rel' : "position: relative;\<CR><++>", |
|
|
|
|
|
|
|
" \';fix' : "position: fixed;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \';block' : "display: block;\<CR><++>", |
|
|
|
|
|
|
|
" \';inl' : "display: inline;\<CR><++>", |
|
|
|
|
|
|
|
" \';inb' : "display: inline-block;\<CR><++>", |
|
|
|
|
|
|
|
" \';flex' : "display: flex;\<CR><++>", |
|
|
|
|
|
|
|
" \';inf' : "display: inline-flex;\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'include' : "@import \"<+++>\";\<CR><++>", |
|
|
|
|
|
|
|
" \'@include' : "@import \"<+++>\";\<CR><++>", |
|
|
|
|
|
|
|
" \'require' : "@import \"<+++>\";\<CR><++>", |
|
|
|
|
|
|
|
" \'@require' : "@import \"<+++>\";\<CR><++>", |
|
|
|
|
|
|
|
" \'import' : "@import \"<+++>\";\<CR><++>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \'media' : "@media (<+++>){\<CR><++>\<CR>}", |
|
|
|
|
|
|
|
" \';minw' : "@media (min-width: <+++>){\<CR><++>\<CR>}", |
|
|
|
|
|
|
|
" \';mindw' : "@media (min-width: @min-desktop-width){\<CR><+++>\<CR>}", |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" let g:quicktex_less = g:quicktex_css |
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
" " JS {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_javascript = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \';fun' : "function <+++>(<++>){\<CR><++>\<CR>}", |
|
|
|
|
|
|
|
" \ |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" " Latex Normal {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_tex = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \';b' : "\\textbf{<+++>} <++>", |
|
|
|
|
|
|
|
" \';e' : "\\emph{<+++>} <++>", |
|
|
|
|
|
|
|
" \'prf' : "\\begin{proof}\<CR><+++>\<CR>\\end{proof}", |
|
|
|
|
|
|
|
" \';m' : "$<+++>$ <++>", |
|
|
|
|
|
|
|
" \';M' : "\\[ <+++> \\] <++>", |
|
|
|
|
|
|
|
" \';ma' : "$a$ ", |
|
|
|
|
|
|
|
" \';mb' : "$b$ ", |
|
|
|
|
|
|
|
" \';mc' : "$c$ ", |
|
|
|
|
|
|
|
" \';md' : "$d$ ", |
|
|
|
|
|
|
|
" \';me' : "$e$ ", |
|
|
|
|
|
|
|
" \';mf' : "$f$ ", |
|
|
|
|
|
|
|
" \';mg' : "$g$ ", |
|
|
|
|
|
|
|
" \';mh' : "$h$ ", |
|
|
|
|
|
|
|
" \';mi' : "$i$ ", |
|
|
|
|
|
|
|
" \';mj' : "$j$ ", |
|
|
|
|
|
|
|
" \';mk' : "$k$ ", |
|
|
|
|
|
|
|
" \';ml' : "$l$ ", |
|
|
|
|
|
|
|
" \';mm' : "$m$ ", |
|
|
|
|
|
|
|
" \';mn' : "$n$ ", |
|
|
|
|
|
|
|
" \';mo' : "$o$ ", |
|
|
|
|
|
|
|
" \';mp' : "$p$ ", |
|
|
|
|
|
|
|
" \';mq' : "$q$ ", |
|
|
|
|
|
|
|
" \';mr' : "$r$ ", |
|
|
|
|
|
|
|
" \';ms' : "$s$ ", |
|
|
|
|
|
|
|
" \';mt' : "$t$ ", |
|
|
|
|
|
|
|
" \';mu' : "$u$ ", |
|
|
|
|
|
|
|
" \';mv' : "$v$ ", |
|
|
|
|
|
|
|
" \';mw' : "$w$ ", |
|
|
|
|
|
|
|
" \';mx' : "$x$ ", |
|
|
|
|
|
|
|
" \';my' : "$y$ ", |
|
|
|
|
|
|
|
" \';mz' : "$z$ ", |
|
|
|
|
|
|
|
" \';mA' : "$A$ ", |
|
|
|
|
|
|
|
" \';mB' : "$B$ ", |
|
|
|
|
|
|
|
" \';mC' : "$C$ ", |
|
|
|
|
|
|
|
" \';mD' : "$D$ ", |
|
|
|
|
|
|
|
" \';mE' : "$E$ ", |
|
|
|
|
|
|
|
" \';mF' : "$F$ ", |
|
|
|
|
|
|
|
" \';mG' : "$G$ ", |
|
|
|
|
|
|
|
" \';mH' : "$H$ ", |
|
|
|
|
|
|
|
" \';mI' : "$I$ ", |
|
|
|
|
|
|
|
" \';mJ' : "$J$ ", |
|
|
|
|
|
|
|
" \';mK' : "$K$ ", |
|
|
|
|
|
|
|
" \';mL' : "$L$ ", |
|
|
|
|
|
|
|
" \';mM' : "$M$ ", |
|
|
|
|
|
|
|
" \';mN' : "$N$ ", |
|
|
|
|
|
|
|
" \';mO' : "$O$ ", |
|
|
|
|
|
|
|
" \';mP' : "$P$ ", |
|
|
|
|
|
|
|
" \';mQ' : "$Q$ ", |
|
|
|
|
|
|
|
" \';mR' : "$R$ ", |
|
|
|
|
|
|
|
" \';mS' : "$S$ ", |
|
|
|
|
|
|
|
" \';mT' : "$T$ ", |
|
|
|
|
|
|
|
" \';mU' : "$U$ ", |
|
|
|
|
|
|
|
" \';mV' : "$V$ ", |
|
|
|
|
|
|
|
" \';mW' : "$W$ ", |
|
|
|
|
|
|
|
" \';mX' : "$X$ ", |
|
|
|
|
|
|
|
" \';mY' : "$Y$ ", |
|
|
|
|
|
|
|
" \';mZ' : "$Z$ ", |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
" " Latex Maths {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_math = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \';b' : "\\mathbf{<+++>} <++>", |
|
|
|
|
|
|
|
" \';B' : "\\mathbb{<+++>} <++>", |
|
|
|
|
|
|
|
" \'fr' : '\mathcal{R} ', |
|
|
|
|
|
|
|
" \'eq' : '= ', |
|
|
|
|
|
|
|
" \'set' : '\{ <+++> \} <++>', |
|
|
|
|
|
|
|
" \'frac' : '\frac{<+++>}{<++>} <++>', |
|
|
|
|
|
|
|
" \'in' : '\in ', |
|
|
|
|
|
|
|
" \'bn' : '\mathbb{N} ', |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" |
|
|
|
|
|
|
|
" " Markdown {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_markdown = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \';b' : "**<+++>** <++>", |
|
|
|
|
|
|
|
" \';i' : "*<+++>* <++>", |
|
|
|
|
|
|
|
" \';a' : "[<+++>](<+url+>) <++>", |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
" let g:quicktex_pandoc = g:quicktex_markdown |
|
|
|
|
|
|
|
" " PHP {{{3 |
|
|
|
|
|
|
|
" let g:quicktex_php = { |
|
|
|
|
|
|
|
" \' ' : "\<ESC>/<+.*+>\<CR>\"_c/+>/e\<CR>", |
|
|
|
|
|
|
|
" \';ob' : "ob_start();\<CR><+++>\<CR>ob_get_clean();", |
|
|
|
|
|
|
|
" \';vd' : "var_dump(<+++>);", |
|
|
|
|
|
|
|
" \';obvd' : "ob_start();\<CR>var_dump(<+++>);\<CR>echo htmlspecialchars(ob_get_clean());", |
|
|
|
|
|
|
|
" \';nl' : "echo '<br />';", |
|
|
|
|
|
|
|
" \} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"}}} |
|
|
|
|
|
|
|
"}}} |
|
|
|
"}}} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Functions {{{1 |
|
|
|
" Functions {{{1 |
|
|
|
|
|
|
|
|
|
|
|
function! NextMark() |
|
|
|
|
|
|
|
execute "normal! /(<.>)\<cr>zvda(" |
|
|
|
|
|
|
|
execute "startinsert" |
|
|
|
|
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function! NewHtml() |
|
|
|
function! NewHtml() |
|
|
|
read ~/Templates/html |
|
|
|
read ~/Templates/html |
|
|
|
normal! ggdd |
|
|
|
normal! ggdd |
|
|
|
setlocal filetype=html |
|
|
|
setlocal filetype=html |
|
|
|
"call NextMark() |
|
|
|
|
|
|
|
endfunction |
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -356,20 +183,6 @@ function! NewLatex() |
|
|
|
setlocal filetype=tex |
|
|
|
setlocal filetype=tex |
|
|
|
endfunction |
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
" Strip the newline from the end of a string |
|
|
|
|
|
|
|
function! Chomp(str) |
|
|
|
|
|
|
|
return substitute(a:str, '\n$', '', '') |
|
|
|
|
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Find a file and pass it to cmd |
|
|
|
|
|
|
|
function! DmenuOpen(cmd) |
|
|
|
|
|
|
|
let fname = Chomp(system("git ls-files | rofi -dmenu -i -l 20 -p " . a:cmd)) |
|
|
|
|
|
|
|
if empty(fname) |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
endif |
|
|
|
|
|
|
|
execute a:cmd . " " . fname |
|
|
|
|
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Moves to open window, or focuses it |
|
|
|
" Moves to open window, or focuses it |
|
|
|
" https://www.reddit.com/r/vim/comments/8f80o3/awesome_way_to_navigate_windows_and_autocreate/ |
|
|
|
" https://www.reddit.com/r/vim/comments/8f80o3/awesome_way_to_navigate_windows_and_autocreate/ |
|
|
|
function! WinMove(key) |
|
|
|
function! WinMove(key) |
|
|
@ -392,7 +205,7 @@ command! WpSalts :r! curl https://api.wordpress.org/secret-key/1.1/salt 2> /dev/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Mappings {{{1 |
|
|
|
" Mappings {{{1 |
|
|
|
" Move lines up/down/left/right using arrow keys |
|
|
|
" Move lines up/down or chars left/right using arrow keys |
|
|
|
nnoremap <Down> ddp |
|
|
|
nnoremap <Down> ddp |
|
|
|
nnoremap <Up> ddkP |
|
|
|
nnoremap <Up> ddkP |
|
|
|
nnoremap <Right> xp |
|
|
|
nnoremap <Right> xp |
|
|
@ -406,19 +219,16 @@ nnoremap : ; |
|
|
|
vnoremap ; : |
|
|
|
vnoremap ; : |
|
|
|
vnoremap : ; |
|
|
|
vnoremap : ; |
|
|
|
|
|
|
|
|
|
|
|
" Move lines up/down/left/right using arrow keys |
|
|
|
|
|
|
|
nnoremap <Down> ddp |
|
|
|
|
|
|
|
nnoremap <Up> ddkP |
|
|
|
|
|
|
|
nnoremap <Right> xp |
|
|
|
|
|
|
|
nnoremap <Left> xhP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Compiles documents |
|
|
|
" Compiles documents |
|
|
|
|
|
|
|
" The uppercase versions don't push enter an extra time resulting in seeing |
|
|
|
|
|
|
|
" the output of the compile command. Useful for debugging |
|
|
|
nnoremap <leader>cc :w! \| !compiler <c-r>%<CR><CR> |
|
|
|
nnoremap <leader>cc :w! \| !compiler <c-r>%<CR><CR> |
|
|
|
nnoremap <leader>cC :w! \| !compiler <c-r>%<CR> |
|
|
|
nnoremap <leader>cC :w! \| !compiler <c-r>%<CR> |
|
|
|
nnoremap <leader>cf :w! \| !compiler <c-r>% fplreport<CR><CR> |
|
|
|
|
|
|
|
nnoremap <leader>cF :w! \| !compiler <c-r>% fplreport<CR> |
|
|
|
|
|
|
|
nnoremap <leader>cl :w! \| !compiler <c-r>% letter<CR><CR> |
|
|
|
nnoremap <leader>cl :w! \| !compiler <c-r>% letter<CR><CR> |
|
|
|
nnoremap <leader>cL :w! \| !compiler <c-r>% letter<CR> |
|
|
|
nnoremap <leader>cL :w! \| !compiler <c-r>% letter<CR> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Opens the compiled documetn |
|
|
|
|
|
|
|
" If something like html, it doesn't need to be compiled first |
|
|
|
nnoremap <leader>co :!opout <c-r>%<CR><CR> |
|
|
|
nnoremap <leader>co :!opout <c-r>%<CR><CR> |
|
|
|
|
|
|
|
|
|
|
|
" Activate spelling |
|
|
|
" Activate spelling |
|
|
@ -428,7 +238,6 @@ nnoremap <F7> :set spell!<cr> |
|
|
|
noremap <ScrollWheelUp> <nop> |
|
|
|
noremap <ScrollWheelUp> <nop> |
|
|
|
noremap <ScrollWheelDown> <nop> |
|
|
|
noremap <ScrollWheelDown> <nop> |
|
|
|
|
|
|
|
|
|
|
|
" nnoremap <c-o> :call DmenuOpen("e")<cr> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" make ctrl + hjkl move + create windows |
|
|
|
" make ctrl + hjkl move + create windows |
|
|
|
nnoremap <C-h> :call WinMove('h')<cr> |
|
|
|
nnoremap <C-h> :call WinMove('h')<cr> |
|
|
@ -497,8 +306,6 @@ inoremap <expr> <c-c> fzf#vim#complete({ |
|
|
|
\ 'options': '--multi', |
|
|
|
\ 'options': '--multi', |
|
|
|
\ 'down': '30%' }) |
|
|
|
\ 'down': '30%' }) |
|
|
|
|
|
|
|
|
|
|
|
" Set double space in insert mode to go to next mark and enter insert mode |
|
|
|
|
|
|
|
"inoremap <leader><leader> <Esc>:call NextMark()<cr> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Stops vim doing anything when terminal gains or looses focus |
|
|
|
" Stops vim doing anything when terminal gains or looses focus |
|
|
|
noremap <silent> <Esc>[I <nop> |
|
|
|
noremap <silent> <Esc>[I <nop> |
|
|
|