145 lines
3.7 KiB
VimL
145 lines
3.7 KiB
VimL
set nocompatible
|
|
|
|
"Plug init
|
|
"
|
|
call plug#begin('~/.local/lib/nvim/plugged')
|
|
|
|
"vim airline and vim airline theme
|
|
Plug 'vim-airline/vim-airline'
|
|
"vim airline and vim airline theme
|
|
Plug 'vim-airline/vim-airline-themes'
|
|
|
|
if v:version >= 800
|
|
" Replace syntastic with ale (test)
|
|
Plug 'w0rp/ale'
|
|
endif
|
|
|
|
"Base16 theme
|
|
Plug 'chriskempson/base16-vim'
|
|
|
|
"NERDTree file manager
|
|
Plug 'scrooloose/nerdtree'
|
|
|
|
"Vim fugitive
|
|
Plug 'tpope/vim-fugitive'
|
|
Plug 'tpope/vim-surround'
|
|
Plug 'sheerun/vim-polyglot'
|
|
|
|
if has('nvim')
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
endif
|
|
Plug 'zchee/deoplete-jedi'
|
|
|
|
call plug#end()
|
|
|
|
filetype plugin indent on
|
|
syntax enable
|
|
set title
|
|
set nu
|
|
set showmode
|
|
set noswapfile
|
|
set nofsync
|
|
set buftype=
|
|
set mouse=a
|
|
set encoding=utf8
|
|
set directory^=$HOME/.local/tmp
|
|
set backupdir^=$HOME/.local/tmp
|
|
set smartindent
|
|
set tabstop=4
|
|
set shiftwidth=4
|
|
set expandtab
|
|
set showmatch
|
|
set colorcolumn=80
|
|
set clipboard+=unnamedplus "Use system clipboard
|
|
|
|
"Code Fold
|
|
"---------
|
|
set foldmethod=indent
|
|
"Load and save view atomatocally (save and restore fold)
|
|
autocmd BufWinLeave *.* mkview
|
|
autocmd BufWinEnter *.* silent! loadview
|
|
|
|
"Searching
|
|
"---------
|
|
set incsearch " Ignore case when searching
|
|
set ignorecase
|
|
set smartcase " When searching try to be smart about cases
|
|
set hlsearch " hightlight search terms
|
|
set gdefault " Search all occurrences by default
|
|
|
|
" NerdTree
|
|
" --------
|
|
" Close NERDTree if it is the last buffer open
|
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
|
|
|
" ALE (test)
|
|
" ----------
|
|
let g:ale_sign_column_always = 1
|
|
let g:ale_sign_error = '⚠'
|
|
let g:ale_sign_warning = '⚠'
|
|
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
|
|
|
|
" Vim-airLine
|
|
" -----------
|
|
|
|
let g:airline#extensions#tabline#enabled = 1
|
|
let g:airline#extensions#tabline#left_sep = ''
|
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
|
let g:airline_powerline_fonts = 1
|
|
let g:airline_skip_empty_sections = 1
|
|
"let g:airline#extensions#bufferline#enabled = 1
|
|
let g:airline#extensions#tabline#show_splits = 0
|
|
|
|
"set laststatus=2
|
|
|
|
" Deoplete
|
|
" --------
|
|
let g:deoplete#enable_at_startup = 1
|
|
" Deoplete tab order on popup to be down/up instead of up/down
|
|
inoremap <silent><expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
|
|
inoremap <silent><expr><s-tab> pumvisible() ? "\<c-p>" : "\<s-tab>"
|
|
|
|
" Color Scheme
|
|
" ------------
|
|
set termguicolors "24 bits color support
|
|
let base16colorspace=256
|
|
colorscheme base16-classic-dark
|
|
set background=dark
|
|
|
|
" Key biding
|
|
" ----------
|
|
map <silent> [C-left] :tabprevious<CR>
|
|
map <silent> [C-right] :tabnext<CR>
|
|
map <silent> <leader>/ :nohlsearch<CR>
|
|
map <silent> <F2> :NERDTreeToggle<CR>
|
|
" Move tabs with \[ and \]
|
|
map <Leader>] :tabnext<CR>
|
|
map <Leader>[ :tabprev<CR>
|
|
" show special character
|
|
set listchars=tab:→\ ,trail:␣,extends:…,eol:
|
|
nmap <leader>l :set list!<CR>
|
|
|
|
" Autotype
|
|
" --------
|
|
au BufRead,BufNewFile *.md setlocal textwidth=80
|
|
|
|
augroup mailfile
|
|
autocmd!
|
|
autocmd FileType mail setlocal formatoptions+=aw
|
|
autocmd Filetype mail setlocal spelllang=fr spell
|
|
|
|
augroup END
|
|
|
|
" Enable enhanced command line completion.
|
|
set wildmenu
|
|
set wildmode=longest:full,list
|
|
|
|
" Ignore these filenames during enhanced command line completion.
|
|
set wildignore+=*.bak,*.class
|
|
set wildignore+=*.aux,*.out,*.toc " LaTeX intermediate files
|
|
set wildignore+=*.jpg,*.bmp,*.gif,*.png " binary images
|
|
set wildignore+=*.luac " Lua byte code
|
|
set wildignore+=*.o,*.obj,*.exe,*.dll,*.manifest " compiled object files
|
|
set wildignore+=*.pyc " Python byte code
|
|
set wildignore+=*.spl " compiled spelling word lists
|
|
set wildignore+=*.sw? " Vim swap files
|