dotfiles/vimrc

156 lines
4.2 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

" Pas de compatibilité a VI !
set nocompatible
" PLUGNIS ###########################################################{{{
filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Vundle
Plugin 'VundleVim/Vundle.vim'
" Stylish bar ...
Plugin 'vim-airline/vim-airline'
" ... and its themes
Plugin 'vim-airline/vim-airline-themes'
" Nerd tree
" Plugin 'scrooloose/nerdtree'
" I don't know what this is
Plugin 'othree/html5.vim'
" Vim markdown previewer
Plugin 'suan/vim-instant-markdown'
" YouCompleteMe : best vim completer ever
Plugin 'Valloric/YouCompleteMe'
" Coloration for javascript
Plugin 'jelera/vim-javascript-syntax'
" Coloration for typescript
Plugin 'leafgarland/typescript-vim'
" Coloration for pug (formerly jade)
Plugin 'digitaltoad/vim-pug'
" Generate doc for typescript functions
Plugin 'https://gogs.tforgione.fr/tforgione/typescript-doc.git'
" My colorscheme
Plugin 'https://gogs.tforgione.fr/tforgione/peach'
" Rust
Plugin 'rust-lang/rust.vim'
Plugin 'cespare/vim-toml'
call vundle#end() " required
filetype plugin indent on " required
" 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 <silent><F12> :wa \| !make-client.py<CR>
inoremap <silent><F12> <C-O>:wa \|!make-client.py<CR>
vnoremap <silent><F12> :wa \|!make-client.py<CR>
" Escape on F1
map <F1> <Esc>
imap <F1> <Esc>
" 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 ###################################################{{{
" You complete me configuration file
let g:ycm_global_ycm_extra_conf = '~/.vim/ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0
let g:ycm_autoclose_preview_window_after_insertion = 1
" Rust source
let g:ycm_rust_src_path='/opt/rust/src'
" Goto with F11
nnoremap <silent><F10> :YcmCompleter GoTo<CR>
inoremap <silent><F10> <C-O>:YcmCompleter GoTo<CR>
vnoremap <silent><F10> :YcmCompleter GoTo<CR>
nnoremap <silent><F11> :vs \| :YcmCompleter GoTo<CR> \| <C-w><C-x><C-w><C-w>
inoremap <silent><F11> <C-O>:vs \| :YcmCompleter GoTo<CR> \| <C-w><C-x><C-w><C-w>
vnoremap <silent><F11> :vs \| :YcmCompleter GoTo<CR> \| <C-w><C-x><C-w><C-w>
" }}}