dotfiles/.config/vim/vimrc

123 lines
3 KiB
VimL
Executable file

" - Cleaning Up
set undodir=$XDG_DATA_HOME/vim/undo
set directory=$XDG_DATA_HOME/vim/swap
set backupdir=$XDG_DATA_HOME/vim/backup
set viewdir=$XDG_DATA_HOME/vim/view
if !has('nvim')
set viminfo+='1000,n$XDG_DATA_HOME/vim/viminfo
else
set viminfo+='1000,n$XDG_DATA_HOME/nvim/nviminfo
endif
set runtimepath=$XDG_CONFIG_HOME/vim,$VIMRUNTIME,$XDG_CONFIG_HOME/vim/after
let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc"
" - Mutt
au BufRead /tmp/mutt-* set tw=72
"
set encoding=UTF-8
set hls
set number
set ignorecase
set smartcase
" map <C-n> :NERDTreeToggle<CR>
"
" - Mapping + Settings
" Norm but in shortcut
vnoremap . :normal .<CR>
" Map ctrl + u as U
noremap <C-u> U
" Map U as redo (ctrl + r)
noremap U <C-r>
" Yank and Put to/from clipboard/primary
noremap <C-y> "+y
noremap <C-p> "+p
noremap <C-Y> "+y
noremap <C-P> "+P
" NERDComment thing
noremap <C-/> :NERDCommenterToggle
:set mouse=a
" specific type maps --
if !has("nvim")
autocmd FileType python map <buffer> <F9> :w<CR>:!clear; python "%"<CR>
else
autocmd FileType python map <buffer> <F9> :w<CR>:!python "%"<CR>
endif
" autocmd FileType python imap <buffer> <F9> <esc>:w<CR>:exec '!clear; python "%"'<CR>
autocmd FileType plaintex command! -nargs=0 Lw w !pdflatex % > /dev/null
autocmd FileType tex command! -nargs=0 Lw w !pdflatex % > /dev/null
" -------------
" Sw (sudo w) to save as root
command! -nargs=0 W w !sudo tee % > /dev/null
cmap w!! w !sudo tee > /dev/null %
" - Auto refresh vimrc
augroup myvimrc
au!
au BufWritePost vimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
syntax on
filetype indent plugin on
" - PlugIns
if empty(glob('~/.config/vim/autoload/plug.vim'))
silent !curl -fLo ~/.config/vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.local/share/vim/bundle')
Plug 'kovetskiy/sxhkd-vim'
Plug 'lervag/vimtex'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
" if has('nvim')
" Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
" else
" Plug 'Shougo/deoplete.nvim'
" Plug 'roxma/nvim-yarp'
" Plug 'roxma/vim-hug-neovim-rpc'
" endif
Plug 'preservim/nerdcommenter'
" Plug 'ycm-core/YouCompleteMe'
Plug 'preservim/nerdtree'
Plug 'ryanoasis/vim-devicons'
if !has('nvim')
Plug 'ptzz/lf.vim'
else
Plug 'ptzz/lf.vim'
Plug 'rbgrouleff/bclose.vim'
endif
Plug 'tpope/vim-commentary'
call plug#end()
" - Lf
let g:lf_map_keys = 0
map <C-n> :Lf<CR>
" - YouCompleteMe
let g:ycm_autoclose_preview_window_after_completion = 1
" - Powerline Integraton
let g:airline_powerline_fonts = 1
let g:airline_left_sep=' '
let g:airline_right_sep=' '
let g:airline_theme='onedark'
" - Snippet
let g:UltiSnipsExpandTrigger="<C-Tab>"
let g:UltiSnipsJumpForwardTrigger="<C-Tab>"
let g:UltiSnipsJumpBackwardTrigger="<S-Tab>"
let g:UltiSnipsEditSplit="vertical"