@ -29,6 +29,7 @@ set spelllang=en_us
set fillchars + = eob :~
set showtabline = 2
set laststatus = 2
set backspace = indent , eol , start " more powerful backspacing
" ------------------
" Basic styling
@ -38,18 +39,40 @@ highlight CursorLine ctermbg=Black cterm=NONE
highlight CursorLineNr ctermbg = Black cterm = bold ctermfg = Green
highlight LineNr ctermbg = Black ctermfg = White
" OS detection
" ---------------------------------------------
if ! exists ( "g:os_current" )
if system ( 'uname -s' ) = = "Linux\n"
let g :os_current = "Linux"
elseif system ( 'uname -s' ) = = "Darwin\n"
let g :os_current = "Darwin"
else
echom "Error: the current operating system won't support my Vim Config"
let g :os_current = "Other"
endif
endif
" ---------------------------------------------
" Plugin settings
" ------------------
call plug #begin ( )
Plug 'https://github.com/Badacadabra/vim-archery'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'sonph/onehalf' , { 'rtp' : 'vim' }
Plug 'https://github.com/Badacadabra/vim-archery'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'lervag/vimtex'
Plug 'Valloric/YouCompleteMe'
Plug 'preservim/nerdtree'
"Plug 'liuchengxu/vim-which-key'
Plug 'godlygeek/tabular'
Plug 'preservim/vim-markdown'
Plug 'iamcco/markdown-preview.nvim' , { 'do' : { - > mkdp #util #install ( ) }, 'for' : ['markdown' , 'vim-plug' ]}
Plug 'https://github.com/godlygeek/tabular'
call plug #end ( )
" Theme configuration
" ------------------
colorscheme archery
let g :airline_theme = 'archery'
colorscheme onehalfdark " archery
let g :airline_theme = 'onehalfdark' "' archery'
set t_Co = 256
let g :airline_powerline_fonts = 1
let g :airline #extensions #tabline #left_sep = ' '
@ -57,3 +80,47 @@ let g:airline#extensions#tabline#left_alt_sep = '|'
let g :airline_symbols = {}
let g :airline_symbols .colnr = ' ㏇:'
" LaTeX
let g :tex_flavor = 'latex'
set sw = 2
set iskeyword + = :
let g :vimtex_view_method = "skim"
let g :vimtex_compiler_latexmk = {'options' : ['-pdf' , '-shell-escape' , '-verbose' , '-file-line-error' , '-synctex=1' , '-interaction=nonstopmode' , ], } " we need to enable -shell-escape to be able to use externalization library for avioiding recompiling unchanged diagrams/graphs created using tikz/pgfplots
if ! exists ( 'g:ycm_semantic_triggers' )
let g :ycm_semantic_triggers = {}
endif
au VimEnter * let g :ycm_semantic_triggers .tex = g :vimtex #re #youcompleteme
" ---------------------------------------------
" Miscelanious
" ---------------------------------------------
" Easier write command
let mapleader = " "
nnoremap < leader > w < Cmd > write < CR >
" NERDTree
nnoremap < leader > n :NERDTreeFocus < CR >
nnoremap < C - n > :NERDTree < CR >
nnoremap < C - t > :NERDTreeToggle < CR >
nnoremap < C - f > :NERDTreeFind < CR >
let g :NERDTreeQuitOnOpen = 1
" Whichkey
set timeoutlen = 500
"let g:mapleader = "\<Space>"
"let g:maplocalleader = ','
"nnoremap <silent> <leader> :<c-u>WhichKey '<Space>'<CR>
"nnoremap <silent> <localleader> :<c-u>WhichKey ','<CR>
" Tabularize
inoremap < silent > < Bar > < Bar > < Esc > :call < SID > align ( ) < CR > a
function ! s :align ( )
let p = '^\s*|\s.*\s|\s*$'
if exists ( ':Tabularize' ) && getline ( '.' ) = ~ # '^\s*|' && ( getline ( line ( '.' ) -1 ) = ~ # p | | getline ( line ( '.' ) + 1 ) = ~ # p )
let column = strlen ( substitute ( getline ( '.' ) [0 :col ( '.' ) ], '[^|]' , '' , 'g' ) )
let position = strlen ( matchstr ( getline ( '.' ) [0 :col ( '.' ) ], '.*|\s*\zs.*' ) )
Tabularize /|/ l1
normal ! 0
call search ( repeat ( '[^|]*|' , column ) .'\s\{-\}' .repeat ( '.' , position ) , 'ce' , line ( '.' ) )
endif
endfunction