" ------------------ " __ " .--.--.|__|.--------.----.----. " | | || || | _| __| " \___/ |__||__|__|__|__| |____| " ------------------ " " Basic settings " -------------- set nocompatible filetype plugin indent on syntax enable set number relativenumber set path+=** set wildmode=longest,list,full set encoding=UTF-8 set cursorline set showmatch " matching brackets set linebreak set ignorecase " case insensitive matching set smartcase " smart case matching "set clipboard+=unnamedplus set mouse=a set tabstop=4 set shiftwidth=4 set softtabstop=4 set spelllang=en_us set fillchars+=eob:~ set showtabline=2 set laststatus=2 set backspace=indent,eol,start " more powerful backspacing " ------------------ " Basic styling " ------------------ highlight Comment cterm=italic 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 '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 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 = ' ' 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 w write " NERDTree nnoremap n :NERDTreeFocus nnoremap :NERDTree nnoremap :NERDTreeToggle nnoremap :NERDTreeFind let g:NERDTreeQuitOnOpen = 1 " Whichkey set timeoutlen=500 "let g:mapleader = "\" "let g:maplocalleader = ',' "nnoremap :WhichKey '' "nnoremap :WhichKey ',' " Tabularize inoremap :call align()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