summaryrefslogtreecommitdiff
path: root/.config/vim
diff options
context:
space:
mode:
Diffstat (limited to '.config/vim')
-rw-r--r--.config/vim/ftplugin/tex.vim73
-rw-r--r--.config/vim/vimrc22
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