|
|
- " ------------------
- " __
- " .--.--.|__|.--------.----.----.
- " | | || || | _| __|
- " \___/ |__||__|__|__|__| |____|
- " ------------------
- "
- " 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 <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
|