170 lines
4.1 KiB
VimL
170 lines
4.1 KiB
VimL
" {{{ Vundle
|
||
set nocompatible " be iMproved, required
|
||
filetype off " required
|
||
" set the runtime path to include Vundle and initialize
|
||
set rtp+=~/.vim/bundle/Vundle.vim
|
||
call vundle#begin()
|
||
" let Vundle manage Vundle, required
|
||
Plugin 'VundleVim/Vundle.vim'
|
||
Plugin 'scrooloose/nerdtree.git'
|
||
Plugin 'bling/vim-airline'
|
||
"Plugin 'vim-jp/vim-go-extra'
|
||
"Plugin 'fatih/vim-go'
|
||
"Plugin 'posva/vim-vue'
|
||
"Plugin 'leafgarland/typescript-vim'
|
||
|
||
"Bundle 'Quramy/tsuquyomi'
|
||
Bundle 'chase/vim-ansible-yaml'
|
||
" }}}
|
||
|
||
" {{{ airline
|
||
if !exists('g:airline_symbols')
|
||
let g:airline_symbols = {}
|
||
endif
|
||
|
||
" unicode symbols
|
||
let g:airline_left_sep = '»'
|
||
let g:airline_left_sep = '▶'
|
||
let g:airline_right_sep = '«'
|
||
let g:airline_right_sep = '◀'
|
||
let g:airline_symbols.linenr = '␊'
|
||
let g:airline_symbols.linenr = ''
|
||
let g:airline_symbols.linenr = '¶'
|
||
let g:airline_symbols.branch = '⎇'
|
||
let g:airline_symbols.paste = 'ρ'
|
||
let g:airline_symbols.paste = 'Þ'
|
||
let g:airline_symbols.paste = '∥'
|
||
let g:airline_symbols.whitespace = 'Ξ'
|
||
|
||
" powerline symbols
|
||
let g:airline_left_sep = ''
|
||
let g:airline_left_alt_sep = ''
|
||
let g:airline_right_sep = ''
|
||
let g:airline_right_alt_sep = ''
|
||
let g:airline_symbols.branch = ''
|
||
let g:airline_symbols.readonly = ''
|
||
let g:airline_symbols.linenr = ''
|
||
|
||
set laststatus=2
|
||
let g:airline#extensions#tabline#enabled = 1
|
||
let g:airline#extensions#tabline#tab_nr_type = 1 " tab number
|
||
let g:airline#extensions#tabline#buffer_nr_show = 1
|
||
let g:airline#extensions#tabline#show_close_button = 0
|
||
let g:airline#extensions#tabline#fnamemod = ':t:.'
|
||
" }}}
|
||
|
||
syntax enable
|
||
set history=500
|
||
set nu
|
||
set cursorline
|
||
set ai
|
||
set smartindent
|
||
" lignes autour du curseur lors d'un déplacement (j/k)
|
||
set so=5
|
||
" nombre de colonnes pour représenter une tabulation, nombre d'espaces d'une
|
||
" tabulation, nombre d'espaces d'une indentation, ne pas remplacer les
|
||
" tabulations par des espaces
|
||
set ts=4 sts=4 sw=4 noexpandtab
|
||
" detection du type de fichier et indentation adequate (touche =)
|
||
filetype on
|
||
filetype plugin on
|
||
filetype indent on
|
||
" permet de quiter un buffer modifié sans alerte (avec :bn ou :bp)
|
||
" on a toujours l'alerte si on quitte vim
|
||
set hidden
|
||
" theme de couleur
|
||
set t_Co=256
|
||
set background=dark
|
||
let g:solarized_termtrans=1
|
||
let g:solarized_termcolors=256
|
||
colorscheme solarized
|
||
" recherche avec surbrillance
|
||
set incsearch
|
||
set showmatch
|
||
set hlsearch
|
||
" relecture fichier si modif externe
|
||
set autoread
|
||
" indent javascript
|
||
filetype plugin indent on
|
||
" completion améliorée, ignore certains fichiers
|
||
set wildmenu
|
||
set wildignore=*~,*/.git/*
|
||
" changement de ligne en fin/debut de ligne pour ces mouvements
|
||
set whichwrap+=h,l
|
||
" abandon buffer quitté
|
||
set hid
|
||
|
||
" remap <ESC>
|
||
inoremap jk <ESC>
|
||
" leader key
|
||
let mapleader = "\<Space>"
|
||
|
||
" modeline
|
||
set modeline
|
||
" tabs
|
||
set expandtab
|
||
set tabstop=2
|
||
set shiftwidth=2
|
||
|
||
" {{{ Shortcuts
|
||
" disable ex mode
|
||
nnoremap Q <Nop>
|
||
" clear search
|
||
nnoremap <Leader>c :nohl<cr>
|
||
" NERdTree
|
||
nnoremap <Leader>o :NERDTree<cr>
|
||
" save
|
||
nnoremap <Leader>w :w<CR>
|
||
" quit
|
||
nnoremap <Leader>q :q<CR>
|
||
" navigate buffers
|
||
nnoremap <Leader>l :bn<CR>
|
||
nnoremap <Leader>h :bp<CR>
|
||
nnoremap <Leader>d :bd<CR>
|
||
" copy/paste system clipboard
|
||
nnoremap <Leader>pp :setlocal paste!<CR>
|
||
vmap <Leader>y "+y
|
||
vmap <Leader>d "+d
|
||
nmap <Leader>p "+p
|
||
nmap <Leader>P "+P
|
||
vmap <Leader>p "+p
|
||
vmap <Leader>P "+P
|
||
" enter visual mode
|
||
nmap <Leader><Leader> V
|
||
" Automatically jump to end of text you pasted
|
||
vnoremap <silent> y y`]
|
||
vnoremap <silent> p p`]
|
||
nnoremap <silent> p p`]
|
||
" }}}
|
||
|
||
|
||
" Stop that stupid window from popping up
|
||
map q: :q
|
||
|
||
" {{{ Vundle
|
||
" All of your Plugins must be added before the following line
|
||
call vundle#end() " required
|
||
filetype plugin indent on " required
|
||
" }}}
|
||
|
||
" {{{ Go auto-format
|
||
autocmd FileType go autocmd BufWritePre <buffer> Fmt
|
||
nnoremap <Leader>i :GoImports<cr>
|
||
" }}}
|
||
|
||
" {{{ Vue.js components
|
||
autocmd FileType vue syntax sync fromstart
|
||
" }}}
|
||
|
||
" {{{ Typescript
|
||
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
|
||
" }}}
|
||
|
||
" {{{ Markdown + spell
|
||
au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
|
||
au BufNewFile,BufFilePre,BufRead *.md set spell
|
||
au BufNewFile,BufFilePre,BufRead *.md set linebreak
|
||
set spelllang=fr
|
||
" }}}
|
||
|