diff options
Diffstat (limited to '.config')
| -rw-r--r-- | .config/vim/ftplugin/tex.vim | 73 | ||||
| -rw-r--r-- | .config/vim/vimrc | 22 |
2 files changed, 66 insertions, 29 deletions
diff --git a/.config/vim/ftplugin/tex.vim b/.config/vim/ftplugin/tex.vim index 33c0116..c283e69 100644 --- a/.config/vim/ftplugin/tex.vim +++ b/.config/vim/ftplugin/tex.vim @@ -1,26 +1,63 @@ -imap FTT \texttt{}<Esc>i -imap FBF \textbf{}<Esc>i -imap FIT \textit{}<Esc>i -imap MTT \mathtt{}<Esc>i -imap MBF \mathbf{}<Esc>i -imap MIT \mathit{}<Esc>i +function! GetMainDoc() + let l:maindoc = search('\\begin{document}', "cnw") + if l:maindoc > 0 + return '%' + else + " Find the main document file + " Must be in the same folder of the current file + let l:maindocs = split(system("grep -lE '\\\\begin{document}' " . expand('%:h') . "/*.tex"), '\n') + if len(l:maindocs) > 0 + " Use the first document containing `begin{document}` + return l:maindocs[0] + else + return "" + endif + endif +endfunction -imap MCC \mathcal{}<++><Esc>T{i +function! CompileMainDoc() + let l:latexcmd ='autocmd BufWritePost <buffer> ! + \ latexrun --latex-args="-synctex=1 -interaction=nonstopmode" ' -inoremap <C-j> <Esc>/<++><CR>cf> -noremap <C-j> /<++><CR>cf> + execute(l:latexcmd . GetMainDoc()) +endfunction -vnoremap `IT <ESC>`>a}<ESC>`<i\textit{<ESC> -vnoremap `BF <ESC>`>a}<ESC>`<i\textbf{<ESC> -vnoremap `TT <ESC>`>a}<ESC>`<i\texttt{<ESC> -vnoremap `MI <ESC>`>a}<ESC>`<i\mathit{<ESC> -vnoremap `MB <ESC>`>a}<ESC>`<i\mathbf{<ESC> -vnoremap `MT <ESC>`>a}<ESC>`<i\mathtt{<ESC> +function! Synctex() + " remove 'silent' for debugging + let l:doc = GetMainDoc() + execute "silent !mv -u latex.out/" . substitute(l:doc, '\.tex', '') . ".synctex.gz ." + execute "silent !zathura --synctex-forward " . line('.') . ":" . col('.') . ":" . bufname('%') . " " . expand('%:t:r') . ".pdf" + redraw! +endfunction + +imap <buffer> FTT \texttt{}<Esc>i +imap <buffer> FBF \textbf{}<Esc>i +imap <buffer> FIT \textit{}<Esc>i +imap <buffer> FSC \textsc{}<Esc>i +imap <buffer> MTT \mathtt{}<Esc>i +imap <buffer> MBF \mathbf{}<Esc>i +imap <buffer> MIT \mathit{}<Esc>i +imap <buffer> MSC \mathsc{}<Esc>i + +imap <buffer> MCC \mathcal{}<++><Esc>T{i + +inoremap <buffer> <C-j> <Esc>/<++><CR>cf> +noremap <buffer> <C-j> /<++><CR>cf> + +vnoremap <buffer> `it <ESC>`>a}<ESC>`<i\textit{<ESC> +vnoremap <buffer> `bf <ESC>`>a}<ESC>`<i\textbf{<ESC> +vnoremap <buffer> `tt <ESC>`>a}<ESC>`<i\texttt{<ESC> +vnoremap <buffer> `mi <ESC>`>a}<ESC>`<i\mathit{<ESC> +vnoremap <buffer> `mb <ESC>`>a}<ESC>`<i\mathbf{<ESC> +vnoremap <buffer> `mt <ESC>`>a}<ESC>`<i\mathtt{<ESC> " put \begin{} \end{} tags tags around the current word -autocmd BufRead *.tex map <C-B> YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA -autocmd BufRead *.tex map! <C-B> <ESC>YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA -autocmd BufRead *.tex map <C-M> :call Synctex()<CR> +vnoremap <C-B> YpkI\begin{<ESC>A}<ESC>jI\end{<ESC>A}<esc>kA +nmap <C-M> :call Synctex()<CR> + +"setlocal spell spelllang=en_US + +call CompileMainDoc() " autocmd BufRead *.tex imap /\ \land " autocmd BufRead *.tex imap \/ \lor diff --git a/.config/vim/vimrc b/.config/vim/vimrc index 6c6ad49..e7134db 100644 --- a/.config/vim/vimrc +++ b/.config/vim/vimrc @@ -26,6 +26,7 @@ set formatoptions+=tcroqn2bmj set number set nowrap set splitright +set conceallevel=2 " Fix shift-tab exe 'set t_kB=' . nr2char(27) . '[Z' @@ -57,15 +58,11 @@ syntax enable set background=dark set colorcolumn=81 - -"let &t_8f = "\<Esc>[38:2:%lu:%lu:%lum" -"let &t_8b = "\<Esc>[48:2:%lu:%lu:%lum" - " Colorscheme overrides, for transparency -let g:moonflyTransparent = 1 -let g:moonflyCursorColor = 1 +let g:moonflyTransparent = 1 +let g:moonflyCursorColor = 1 let g:moonflyTerminalColors = 1 -let g:moonflyUndercurls = 1 +let g:moonflyUndercurls = 1 let g:jellybeans_overrides = { 'background': { \ 'guibg': 'none', @@ -117,7 +114,6 @@ let g:syntastic_disabled_filetypes=['asm', 's', 'latex', 'tex', 'javac', 'java'] let g:tex_flavor='latex' let g:vimtex_view_method='zathura' let g:vimtex_quickfix_mode=0 -set conceallevel=2 let g:tex_conceal='abdmg' let g:vimtex_compiler_method = 'latexrun' let g:vimtex_compiler_latexrun = { @@ -168,6 +164,10 @@ map <ScrollWheelUp> <C-Y> imap <C-E> <ESC>A imap <C-A> <ESC>I +" Fuzzy Wuzzy bindings +noremap <C-f> :Files<cr> +noremap <C-b> :Buffers<cr> + "autocmd VimEnter * silent !echo -ne "\e[1 q" "autocmd VimResume * silent !echo -ne "\e[1 q" @@ -195,8 +195,8 @@ autocmd VimLeave * silent execute "!echo -e '\e[6 q'" autocmd InsertEnter * silent execute "!echo -ne '\e[6 q'" autocmd InsertLeave * silent execute "!echo -ne '\e[2 q'" -" Undercurls +" Undercurls/spelling let &t_Cs = "\e[4:3m" let &t_Ce = "\e[4:0m" -hi SpellBad guisp=red gui=undercurl guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE term=underline cterm=undercurl ctermul=red -hi SpellCap guisp=yellow gui=undercurl guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE term=underline cterm=undercurl ctermul=yellow +highlight SpellBad guisp=red gui=undercurl guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE term=underline cterm=undercurl ctermul=red +highlight SpellCap guisp=yellow gui=undercurl guifg=NONE guibg=NONE ctermfg=NONE ctermbg=NONE term=underline cterm=undercurl ctermul=yellow |
