diff --git a/init.vim b/init.vim new file mode 100644 index 0000000..dff11d3 --- /dev/null +++ b/init.vim @@ -0,0 +1,133 @@ +" Pas de compatibilité a VI ! +set nocompatible + +" PLUGNIS ###########################################################{{{ +call plug#begin() +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 'sebastianmarkow/deoplete-rust' +Plug 'ElmCast/elm-vim' +Plug 'cespare/vim-toml' +Plug 'https://gitea.tforgione.fr/tforgione/peach.git' +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' +Plug 'scrooloose/nerdtree' +Plug 'w0rp/ale' + +call plug#end() + +" Line numbers and syntaxic coloration +" set nu +" syntax on + +" Highlight bad spaces (not working...) +" }}} + +" INDENTATION #######################################################{{{ +set expandtab +set tabstop=4 +set shiftwidth=4 +set autoindent +" }}} + +" UI CONFIG #########################################################{{{ +set number +set showcmd +set wildmenu +set lazyredraw +set encoding=utf8 +set clipboard=unnamedplus +set updatecount=50 +set mouse=a +" set ttymouse=sgr +" Espaces insécables grrrr +set list +set listchars=tab:  ,trail:·,extends:>,precedes:<,nbsp:¬ +" Remove trailing spaces +autocmd BufWritePre * :%s/\s\+$//e +" Compile on F12 +nnoremap :wa \| !make-client.py +inoremap :wa \|!make-client.py +vnoremap :wa \|!make-client.py +" Escape on F1 +map +imap +" vim airline config +set laststatus=2 +let g:airline_powerline_fonts = 1 +let g:airline#extensions#branch#format = 1 +let g:airline_theme='dark' +set t_Co=256 +" Set textwidth for latex +" autocmd FileType tex set textwidth=79 +" }}} + +" COLOR #############################################################{{{ +set background=dark +syntax enable +colorscheme peach +highlight BadWhitespace ctermbg=red guibg=red +match BadWhitespace / \| \+\t/ +" }}} + +" SEARCHING #########################################################{{{ +set title +set showmatch +set hlsearch +set noincsearch +" }}} + +" NERDTREE ##########################################################{{{ +let NERDTreeIgnore = ['\.pyc$','__pycache__'] +set shell=sh +let g:NERDTreeIndicatorMapCustom = { + \ "Modified" : "✹", + \ "Staged" : "✚", + \ "Untracked" : "✭", + \ "Renamed" : "➜", + \ "Unmerged" : "═", + \ "Deleted" : "✖", + \ "Dirty" : "✗", + \ "Clean" : "✔︎", + \ "Unknown" : "?" + \ } +let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1 +" }}} + +" BACKUPS ###########################################################{{{ +set dir=$HOME/.vim/swp// +autocmd BufWritePost * :silent execute ':w! ' ."$HOME/.vim/backups/" . substitute(escape(substitute(expand('%:p'), "/", "%", "g"), "%"), ' ', '\\ ', 'g') + +if exists('+undofile') + set undofile + set undolevels=1000 + set undoreload=10000 + if exists('+undodir') + set undodir=$HOME/.vim/undo + endif +endif +" }}} + + +" MARKDOWN PREVIEW ##################################################{{{ +let g:markdown_composer_browser = 'firefox' +let g:instant_markdown_autostart = 0 +" }}} + +" CODE COMPLETION ###################################################{{{ +" Use deoplete +let g:deoplete#enable_at_startup = 1 +let g:deoplete#sources#rust#racer_binary='/home/thomas/.cargo/bin/racer' +let g:deoplete#sources#rust#rust_source_path='unused' +" Autoclose preview +autocmd CursorMovedI * if pumvisible() == 0|pclose|endif +autocmd InsertLeave * if pumvisible() == 0|pclose|endif +" Complete on tab +inoremap pumvisible() ? "\" : "\" +" }}} +