dotfiles/vimrc

138 lines
3.8 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'
" 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'
" Generate doc for typescript functions
Plugin 'https://gogs.tforgione.fr/tforgione/typescript-doc.git'
" Coloration for javascript
Plugin 'jelera/vim-javascript-syntax'
" Coloration for typescript
Plugin 'leafgarland/typescript-vim'
call vundle#end() " required
filetype plugin indent on " required
" Line numbers and syntaxic coloration
" set nu
" syntax on
" Highlight bad spaces (not working...)
" highlight BadWhitespace ctermbg=red guibg=red
" match BadWhitespace / \| \+\t/
" }}}
" COLOR #############################################################{{{
set background=dark
syntax enable
colorscheme peachpuff
" }}}
" 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.sh<CR>
inoremap <silent><F12> <C-O>:wa \|!make-client.sh<CR>
vnoremap <silent><F12> :wa \|!make-client.sh<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
" }}}
" 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 ###########################################################{{{
autocmd BufWritePost * :silent execute ':w! ' ."$HOME/.vim/backups/" . escape(substitute(expand('%:p'), "/", "%", "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
" 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>
" }}}