Up
This commit is contained in:
parent
cb69579cf0
commit
69ab5072f1
@ -1,3 +1,9 @@
|
||||
" File : functions.vim
|
||||
" Author : Jeff LANCE <email@jefflance.me>
|
||||
" Date : 15.04.2015
|
||||
" Last Modified Date: 28.04.2020
|
||||
" Last Modified By : Jeff LANCE <email@jefflance.me>
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" _____ _ _ _ _ ____ _____ ___ ___ _ _ ____
|
||||
" | ___| | | | \ | |/ ___|_ _|_ _/ _ \| \ | / ___|
|
||||
@ -9,28 +15,64 @@
|
||||
|
||||
" Rename current file
|
||||
function! RenameFile()
|
||||
let old_name = expand('%')
|
||||
let new_name = input('New file name: ', expand('%'), 'file')
|
||||
if new_name != '' && new_name != old_name
|
||||
exec ':saveas ' . new_name
|
||||
exec ':silent !rm ' . old_name
|
||||
redraw!
|
||||
endif
|
||||
let old_name = expand('%')
|
||||
let new_name = input('New file name: ', expand('%'), 'file')
|
||||
if new_name != '' && new_name != old_name
|
||||
exec ':saveas ' . new_name
|
||||
exec ':silent !rm ' . old_name
|
||||
redraw!
|
||||
endif
|
||||
endfunction
|
||||
map <leader>n :call RenameFile()<cr>
|
||||
|
||||
|
||||
" Window movement shortcuts
|
||||
" move to the window in the direction shown, or create a new window
|
||||
function! WinMove(key)
|
||||
let t:curwin = winnr()
|
||||
exec "wincmd ".a:key
|
||||
if (t:curwin == winnr())
|
||||
if (match(a:key,'[jk]'))
|
||||
wincmd v
|
||||
else
|
||||
wincmd s
|
||||
endif
|
||||
exec "wincmd ".a:key
|
||||
let t:curwin = winnr()
|
||||
exec "wincmd ".a:key
|
||||
if (t:curwin == winnr())
|
||||
if (match(a:key,'[jk]'))
|
||||
wincmd v
|
||||
else
|
||||
wincmd s
|
||||
endif
|
||||
exec "wincmd ".a:key
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Count buffers
|
||||
function! CountBuf()
|
||||
let bufcount = 0
|
||||
for buf in getbufinfo()
|
||||
let bufcount += 1
|
||||
endfor
|
||||
return bufcount
|
||||
endfunction
|
||||
|
||||
" Test if current buffer is netrw buffer
|
||||
function! IsNetrw()
|
||||
if (getbufvar('%', '&filetype') == "netrw" || bufname('%') =~ 'NetrwTreeListing')
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
" Test if current buffer is empty
|
||||
function! IsEmptyBuf()
|
||||
if (bufname('%') == '')
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
" Close current buffer
|
||||
" If empty return to Startify
|
||||
function! BufClose()
|
||||
if (IsEmptyBuf() || IsNetrw())
|
||||
Startify
|
||||
else
|
||||
bwipeout
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
" File : keybindings.vim
|
||||
" Author : Jeff LANCE <email@jefflance.me>
|
||||
" Date : 15.04.2015
|
||||
" Last Modified Date: 28.04.2020
|
||||
" Last Modified By : Jeff LANCE <email@jefflance.me>
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" _ _________ ______ ___ _ _ ____ ___ _ _ ____ ____
|
||||
" | |/ / ____\ \ / / __ )_ _| \ | | _ \_ _| \ | |/ ___/ ___|
|
||||
@ -10,56 +16,179 @@
|
||||
"
|
||||
" Custom
|
||||
"
|
||||
"
|
||||
|
||||
" Disable highlights when you press <leader><cr>:
|
||||
map <silent> <leader><cr> :noh<cr>
|
||||
|
||||
"
|
||||
" Tabs
|
||||
"
|
||||
set hidden
|
||||
nnoremap <silent> <C-w> :tabclose<cr>
|
||||
nnoremap <silent> <C-t> :tabe<cr>
|
||||
nnoremap <C-n> :tabnext<cr>
|
||||
nnoremap <C-p> :tabprevious<cr>
|
||||
" Enable folding with the spacebar
|
||||
nnoremap <space> za
|
||||
|
||||
" Source current file
|
||||
map <leader>s :echom 'Source file' <bar> :so %<cr>
|
||||
|
||||
" Two semicolons to escape
|
||||
" imap ;; <Esc>
|
||||
|
||||
"
|
||||
" Functions
|
||||
" Buffers
|
||||
"
|
||||
command! -bang -nargs=? -complete=dir Files
|
||||
\ call fzf#vim#files(
|
||||
\ <q-args>,
|
||||
\ fzf#vim#with_preview(
|
||||
\ {'options': ['--layout=reverse', '--info=inline']}
|
||||
\ ),
|
||||
\ <bang>0
|
||||
\ )
|
||||
map <C-w> :echom 'Close buffer' <bar> :call BufClose()<cr>
|
||||
map <C-S-w> :echom 'Force close buffer' <bar> bwipeout!<cr>
|
||||
map <C-o> :e
|
||||
map <C-n> :enew<cr>
|
||||
map <Tab> :bn<cr>
|
||||
map <S-Tab> :bp<cr>
|
||||
|
||||
" Renaming
|
||||
map <leader>rn :call RenameFile()<cr>
|
||||
|
||||
" Windows move
|
||||
"
|
||||
" Windows
|
||||
"
|
||||
map <C-h> :call WinMove('h')<cr>
|
||||
map <C-j> :call WinMove('j')<cr>
|
||||
map <C-k> :call WinMove('k')<cr>
|
||||
map <C-l> :call WinMove('l')<cr>
|
||||
|
||||
"
|
||||
" NERDTree
|
||||
" Tabs
|
||||
"
|
||||
" Trigger configuration
|
||||
map <f2> :NERDTreeToggle<CR>
|
||||
map <leader>nb :NERDTreeFromBookmark
|
||||
map <leader>nf :NERDTreeFind<cr>
|
||||
map <leader>tn :tabnew<cr>
|
||||
map <leader>tc :tabclose<cr>
|
||||
map <C-Tab> :tabnext<cr>
|
||||
map <leader><Tab> :tabnext<cr>
|
||||
|
||||
"
|
||||
" Defx
|
||||
"
|
||||
map <silent> <f3> :Defx<cr>
|
||||
|
||||
function! s:defx_toggle_tree() abort
|
||||
" Open current file, or toggle directory expand/collapse
|
||||
if defx#is_directory()
|
||||
return defx#do_action('open_or_close_tree')
|
||||
endif
|
||||
return defx#do_action('drop')
|
||||
endfunction
|
||||
|
||||
autocmd FileType defx call s:defx_my_settings()
|
||||
function! s:defx_my_settings() abort
|
||||
" Define mappings
|
||||
" nnoremap <silent><buffer><expr> <CR> defx#do_action('drop')
|
||||
nnoremap <silent><buffer><expr> <cr>
|
||||
\ defx#is_directory() ?
|
||||
\ defx#do_action('open_directory') :
|
||||
\ defx#do_action('multi', ['drop', 'quit'])
|
||||
nnoremap <silent><buffer><expr> c
|
||||
\ defx#do_action('copy')
|
||||
nnoremap <silent><buffer><expr> m
|
||||
\ defx#do_action('move')
|
||||
nnoremap <silent><buffer><expr> p
|
||||
\ defx#do_action('paste')
|
||||
nnoremap <silent><buffer><expr> l
|
||||
\ defx#do_action('open')
|
||||
nnoremap <silent><buffer><expr> E
|
||||
\ defx#do_action('open', 'vsplit')
|
||||
nnoremap <silent><buffer><expr> P
|
||||
\ defx#do_action('open', 'pedit')
|
||||
nnoremap <silent><buffer><expr> o
|
||||
\ defx#do_action('open_or_close_tree')
|
||||
nnoremap <silent><buffer><expr> K
|
||||
\ defx#do_action('new_directory')
|
||||
nnoremap <silent><buffer><expr> N
|
||||
\ defx#do_action('new_file')
|
||||
nnoremap <silent><buffer><expr> M
|
||||
\ defx#do_action('new_multiple_files')
|
||||
nnoremap <silent><buffer><expr> C
|
||||
\ defx#do_action('toggle_columns',
|
||||
\ 'mark:indent:icon:filename:type:size:time')
|
||||
nnoremap <silent><buffer><expr> S
|
||||
\ defx#do_action('toggle_sort', 'time')
|
||||
nnoremap <silent><buffer><expr> d
|
||||
\ defx#do_action('remove')
|
||||
nnoremap <silent><buffer><expr> r
|
||||
\ defx#do_action('rename')
|
||||
nnoremap <silent><buffer><expr> !
|
||||
\ defx#do_action('execute_command')
|
||||
nnoremap <silent><buffer><expr> x
|
||||
\ defx#do_action('execute_system')
|
||||
nnoremap <silent><buffer><expr> yy
|
||||
\ defx#do_action('yank_path')
|
||||
nnoremap <silent><buffer><expr> .
|
||||
\ defx#do_action('toggle_ignored_files')
|
||||
nnoremap <silent><buffer><expr> ;
|
||||
\ defx#do_action('repeat')
|
||||
nnoremap <silent><buffer><expr> h
|
||||
\ defx#do_action('cd', ['..'])
|
||||
nnoremap <silent><buffer><expr> ~
|
||||
\ defx#do_action('cd')
|
||||
nnoremap <silent><buffer><expr> q
|
||||
\ defx#do_action('quit')
|
||||
nnoremap <silent><buffer><expr> <Space>
|
||||
\ defx#do_action('toggle_select') . 'j'
|
||||
nnoremap <silent><buffer><expr> *
|
||||
\ defx#do_action('toggle_select_all')
|
||||
nnoremap <silent><buffer><expr> j
|
||||
\ line('.') == line('$') ? 'gg' : 'j'
|
||||
nnoremap <silent><buffer><expr> k
|
||||
\ line('.') == 1 ? 'G' : 'k'
|
||||
nnoremap <silent><buffer><expr> <C-l>
|
||||
\ defx#do_action('redraw')
|
||||
nnoremap <silent><buffer><expr> <C-g>
|
||||
\ defx#do_action('print')
|
||||
nnoremap <silent><buffer><expr> cd
|
||||
\ defx#do_action('change_vim_cwd')
|
||||
endfunction
|
||||
|
||||
|
||||
"
|
||||
" CtrlP
|
||||
" FZF
|
||||
"
|
||||
map <silent> <C-f> :CtrlPMixed<cr>
|
||||
map <C-f> :Files<cr>
|
||||
|
||||
"
|
||||
" Header
|
||||
"
|
||||
map <f4> :AddHeader<cr>
|
||||
|
||||
"
|
||||
" REPL
|
||||
"
|
||||
nnoremap <leader>rp :REPLToggle<Cr>
|
||||
autocmd Filetype python nnoremap <F12> <Esc>:REPLDebugStopAtCurrentLine<Cr>
|
||||
autocmd Filetype python nnoremap <F10> <Esc>:REPLPDBN<Cr>
|
||||
autocmd Filetype python nnoremap <F11> <Esc>:REPLPDBS<Cr>
|
||||
|
||||
"
|
||||
" Vimroom
|
||||
"
|
||||
nnoremap <silent> <leader>z :Goyo<cr>
|
||||
|
||||
|
||||
"
|
||||
" Vimux
|
||||
"
|
||||
map <Leader>vp :VimuxPromptCommand<CR>
|
||||
map <Leader>vl :VimuxRunLastCommand<CR>
|
||||
map <Leader>vz :VimuxZoomRunner<CR>
|
||||
map <Leader>vp :VimuxPromptCommand<cr>
|
||||
" map <Leader>vr :VimuxRunCommand<cr>
|
||||
" map <Leader>vo :VimuxOpenRunner<cr>
|
||||
|
||||
"
|
||||
" Functions
|
||||
"
|
||||
|
||||
" Renaming
|
||||
map <leader>r :call RenameFile()<cr>
|
||||
|
||||
" Open file under cursor
|
||||
map <leader>o :call GotoFile("")<cr>
|
||||
|
||||
map <leader>' ciw''<esc>P
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
" File : plug.vim
|
||||
" Author : Jeff LANCE <email@jefflance.me>
|
||||
" Date : 15.04.2015
|
||||
" Last Modified Date: 28.04.2020
|
||||
" Last Modified By : Jeff LANCE <email@jefflance.me>
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" __ _____ __ __ ____ _ _ _ ____
|
||||
" \ \ / /_ _| \/ | | _ \| | | | | |/ ___|
|
||||
@ -11,7 +17,7 @@
|
||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
autocmd VimEnter * PlugInstall --sync | source ${MYVIMRC}
|
||||
endif
|
||||
|
||||
" Specify a directory for plugins
|
||||
@ -19,46 +25,71 @@ endif
|
||||
" - Avoid using standard Vim directory names like 'plugin'
|
||||
call plug#begin('~/.vim/plugged')
|
||||
|
||||
|
||||
Plug 'mhinz/vim-startify', { 'branch': 'center' } " Startscreen
|
||||
Plug 'scrooloose/nerdtree' " File explorer
|
||||
" Startup sceen
|
||||
Plug 'mhinz/vim-startify'
|
||||
" Deoplete
|
||||
if using_neovim
|
||||
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||
Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||
Plug 'kristijanhusak/defx-icons'
|
||||
else
|
||||
Plug 'Shougo/deoplete.nvim'
|
||||
Plug 'roxma/nvim-yarp'
|
||||
Plug 'roxma/vim-hug-neovim-rpc'
|
||||
Plug 'Shougo/defx.nvim'
|
||||
Plug 'kristijanhusak/defx-icons'
|
||||
endif
|
||||
" Buffer exploration
|
||||
Plug 'ap/vim-buftabline', { 'as': 'buftabline' }
|
||||
" Folding
|
||||
Plug 'Konfekt/FastFold'
|
||||
" Markdown
|
||||
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' }
|
||||
" Git integration
|
||||
Plug 'tpope/vim-fugitive'
|
||||
" Quoting, etc...
|
||||
Plug 'tpope/vim-surround'
|
||||
" Commenting shortcuts
|
||||
Plug 'tpope/vim-commentary'
|
||||
" Show hex codes as colors
|
||||
Plug 'chrisbra/Colorizer'
|
||||
" Put an header in file
|
||||
Plug 'alpertuna/vim-header'
|
||||
" Latex support
|
||||
Plug 'lervag/vimtex'
|
||||
" Open file
|
||||
Plug 'amix/open_file_under_cursor.vim'
|
||||
" Python autocompletion
|
||||
Plug 'deoplete-plugins/deoplete-jedi'
|
||||
" Completion from other opened files
|
||||
Plug 'Shougo/context_filetype.vim'
|
||||
" Linting
|
||||
Plug 'dense-analysis/ale'
|
||||
" REPL for vim
|
||||
Plug 'sillybun/vim-repl'
|
||||
" Auto-close char feature
|
||||
Plug 'Townk/vim-autoclose'
|
||||
" Indexed search
|
||||
Plug 'vim-scripts/IndexedSearch'
|
||||
" Git/mercurial/others diff icons on the side of the file lines
|
||||
Plug 'mhinz/vim-signify'
|
||||
" Fuzzy finder
|
||||
Plug 'junegunn/fzf'
|
||||
Plug 'junegunn/fzf.vim'
|
||||
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' } " Markdown
|
||||
Plug 'tpope/vim-fugitive' " Git
|
||||
Plug 'tpope/vim-surround' " Quotes, etc...
|
||||
Plug 'ryanoasis/vim-devicons' " Icons
|
||||
Plug 'tpope/vim-commentary' " Commenting
|
||||
Plug 'amix/open_file_under_cursor.vim' " open file
|
||||
Plug 'ctrlpvim/ctrlp.vim' " Fzf, buffer
|
||||
Plug 'dense-analysis/ale' " Linting
|
||||
Plug 'ap/vim-css-color' " Color display
|
||||
Plug 'vim-latex/vim-latex' " LaTeX support
|
||||
|
||||
" Distraction-free writing
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'junegunn/limelight.vim'
|
||||
|
||||
" Tabline
|
||||
" Status line
|
||||
Plug 'itchyny/lightline.vim'
|
||||
Plug 'ap/vim-buftabline', { 'as': 'buftabline' }
|
||||
|
||||
" Tmux
|
||||
Plug 'edkolev/tmuxline.vim'
|
||||
Plug 'benmills/vimux'
|
||||
|
||||
" Colorschemes
|
||||
Plug 'kyoz/purify', { 'as': 'purify', 'rtp': 'vim' }
|
||||
Plug 'flazz/vim-colorschemes'
|
||||
Plug 'jcherven/jummidark.vim'
|
||||
Plug 'arzg/vim-colors-xcode'
|
||||
Plug 'nanotech/jellybeans.vim'
|
||||
Plug 'jdsimcoe/abstract.vim'
|
||||
Plug 'rainglow/vim'
|
||||
Plug 'nanotech/jellybeans.vim', { 'as': 'jellybeans' }
|
||||
Plug 'jdsimcoe/abstract.vim', { 'as': 'abstract' }
|
||||
Plug 'xero/sourcerer.vim', { 'as': 'sourcerer' }
|
||||
Plug 'romainl/apprentice', { 'as': 'apprentice' }
|
||||
Plug 'dracula/vim', { 'as': 'dracula' }
|
||||
Plug 'sainnhe/edge', { 'as': 'edge' }
|
||||
Plug 'kyoto-shift/film-noir', { 'as': 'film-noir' }
|
||||
" Customization
|
||||
Plug 'ryanoasis/vim-devicons'
|
||||
|
||||
|
||||
" required !
|
||||
|
323
vim/vimrc
323
vim/vimrc
@ -1,3 +1,9 @@
|
||||
" File : vimrc
|
||||
" Author : Jeff LANCE <email@jefflance.me>
|
||||
" Date : 15.04.2015
|
||||
" Last Modified Date: 28.04.2020
|
||||
" Last Modified By : Jeff LANCE <email@jefflance.me>
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""
|
||||
"
|
||||
" ____ _____ _ _ _____ ____ _ _
|
||||
@ -9,10 +15,20 @@
|
||||
"
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" some useful vars
|
||||
let using_neovim = has('nvim')
|
||||
let using_vim = !using_neovim
|
||||
|
||||
|
||||
set nocompatible " be iMproved, required
|
||||
filetype off " required
|
||||
filetype plugin indent on
|
||||
" viminfo configuration
|
||||
set viminfo='100,n$HOME/.vim/files/info/viminfo
|
||||
if using_vim
|
||||
set viminfo='100,n$HOME/.vim/files/info/viminfo
|
||||
endif
|
||||
set backupdir=$HOME/.vim/backup
|
||||
set directory=$HOME/.vim/tmp
|
||||
set noswapfile
|
||||
|
||||
" UTF-8
|
||||
set encoding=utf8
|
||||
@ -21,23 +37,34 @@ set encoding=utf8
|
||||
syntax on
|
||||
set synmaxcol=512
|
||||
|
||||
"" Set to auto read when a file is changed from the outside
|
||||
" Set to auto read when a file is changed from the outside
|
||||
set autoread
|
||||
"au FocusGained,BufEnter * checktime
|
||||
|
||||
" With a map leader it's possible to do extra key combinations
|
||||
" like <leader>w saves the current file
|
||||
let mapleader = ","
|
||||
let mapleader = ";"
|
||||
|
||||
" Fast saving
|
||||
nmap <leader>w :w!<cr>
|
||||
|
||||
" Allow saving of files as sudo when I forgot to start vim using sudo.
|
||||
command! W execute 'w !sudo tee % > /dev/null %'
|
||||
" ca w!! w !sudo tee "%"
|
||||
|
||||
" A buffer becomes hidden when it is abandoned
|
||||
set hidden
|
||||
|
||||
" Use system clipboard
|
||||
set clipboard=unnamedplus
|
||||
|
||||
" Mouse
|
||||
set mouse=a
|
||||
|
||||
" Auto change dir to current buffer dir
|
||||
autocmd BufEnter * silent! lcd %:p:h
|
||||
|
||||
" Delete extra blank line at the end of file
|
||||
" autocmd BufWritePre *.py normal m`:%s/\s\+$//e``
|
||||
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
@ -49,9 +76,15 @@ set hidden
|
||||
"
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
" To use fancy symbols wherever possible,
|
||||
let fancy_symbols_enabled = 1
|
||||
|
||||
" Font config
|
||||
set guifont=Inconsolata\ Nerd\ Font\ Mono\ 11
|
||||
|
||||
" Remove ugly vertical lines on window division
|
||||
set fillchars+=vert:\
|
||||
|
||||
"
|
||||
set linespace=5
|
||||
|
||||
@ -66,16 +99,32 @@ set number
|
||||
set wrap
|
||||
|
||||
" Tab control
|
||||
set noexpandtab " tabs ftw
|
||||
set smarttab " tab respects 'tabstop', 'shiftwidth', and 'softtabstop'
|
||||
set tabstop=4 " the visible width of tabs
|
||||
set softtabstop=4 " edit as if the tabs are 4 characters wide
|
||||
set shiftwidth=4 " number of spaces to use for indent and unindent
|
||||
set shiftround " round indent to a multiple of 'shiftwidth'
|
||||
set expandtab
|
||||
set tabstop=2
|
||||
set softtabstop=2
|
||||
set shiftwidth=2
|
||||
set textwidth=80
|
||||
set autoindent
|
||||
set smartindent
|
||||
" python
|
||||
au BufNewFile,BufRead *.py
|
||||
\ set tabstop=4
|
||||
\ set softtabstop=4
|
||||
\ set shiftwidth=4
|
||||
\ set textwidth=79
|
||||
\ set expandtab
|
||||
\ set autoindent
|
||||
\ set fileformat=unix
|
||||
" js, html, css
|
||||
au BufNewFile,BufRead *.js, *.html, *.css
|
||||
\ set noexpandtab
|
||||
\ set tabstop=2
|
||||
\ set softtabstop=2
|
||||
\ set shiftwidth=2
|
||||
|
||||
" Configure backspace so it acts as it should act
|
||||
set backspace=indent,eol,start
|
||||
set whichwrap+=<,>,h,l
|
||||
" Let the cursor traverse to the previous or following line when at the or the
|
||||
" end of a line
|
||||
set whichwrap=b,s,<,>,[,]
|
||||
|
||||
" Search
|
||||
set ignorecase " Ignore case when searching
|
||||
@ -95,18 +144,16 @@ set lazyredraw
|
||||
" For regular expressions turn magic on
|
||||
set magic
|
||||
|
||||
" Auto indent
|
||||
set ai
|
||||
|
||||
" Smart indent
|
||||
set si
|
||||
|
||||
" Disable scrollbars (real hackers don't use scrollbars for navigation!)
|
||||
set guioptions-=r
|
||||
set guioptions-=R
|
||||
set guioptions-=l
|
||||
set guioptions-=L
|
||||
|
||||
" Spell checking
|
||||
set spell
|
||||
set spelllang=fr,en
|
||||
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""
|
||||
@ -121,29 +168,24 @@ set guioptions-=L
|
||||
" Installing the Plug plugin manager
|
||||
source $HOME/.vim/plug.vim
|
||||
|
||||
" Start NERDTree if no file is pass as arg
|
||||
" Start startify if no arg
|
||||
autocmd StdinReadPre * let s:std_in=1
|
||||
autocmd VimEnter *
|
||||
\ if argc() == 0
|
||||
\ && !exists("s:std_in")
|
||||
\ | Startify
|
||||
\ | NERDTree
|
||||
\ | endif
|
||||
\ if argc() == 0
|
||||
\ && !exists("s:std_in")
|
||||
\ | Startify
|
||||
\ | endif
|
||||
|
||||
" Close vim if the only window left open is a NERDTree
|
||||
autocmd BufEnter *
|
||||
\ if (winnr("$") == 1
|
||||
\ && exists("b:NERDTree")
|
||||
\ && b:NERDTree.isTabTree())
|
||||
\ | q
|
||||
\ | endif
|
||||
" needed so deoplete can auto select the first suggestion
|
||||
set completeopt+=noinsert
|
||||
" comment this line to enable autocompletion preview window
|
||||
" (displays documentation related to the selected completion option)
|
||||
" disabled by default because preview makes the window flicker
|
||||
" set completeopt-=preview
|
||||
|
||||
" If more than one window and previous buffer was NERDTree, go back to it.
|
||||
autocmd BufEnter *
|
||||
\ if bufname('#') =~# "^NERD_tree_"
|
||||
\ && winnr('$') > 1
|
||||
\ | b#
|
||||
\ | endif
|
||||
" autocompletion of files and commands behaves like shell
|
||||
" (complete only the common part, list the options that match)
|
||||
set wildmode=list:longest
|
||||
|
||||
|
||||
|
||||
@ -174,8 +216,9 @@ endif
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
let base16colorspace=256 " Access colors present in 256 colorspace"
|
||||
" set background=dark
|
||||
colorscheme abstract
|
||||
set background=dark
|
||||
" colorscheme abstract
|
||||
colorscheme sourcerer
|
||||
|
||||
|
||||
|
||||
@ -190,88 +233,166 @@ colorscheme abstract
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
"
|
||||
" Markdown review
|
||||
" BufTabLine
|
||||
"
|
||||
let vim_markdown_preview_toggle=1
|
||||
let vim_markdown_preview_toggle=2
|
||||
let vim_markdown_preview_browser='x-www-browser'
|
||||
hi TabLineSel ctermbg=green ctermfg=black guibg=green guifg=black
|
||||
hi PmenuSel ctermbg=white ctermfg=white guibg=white guifg=white
|
||||
|
||||
"
|
||||
" NERDTree
|
||||
" Defx
|
||||
"
|
||||
let g:NERDTreeQuitOnOpen=0 " close NERDTree after a file is opened
|
||||
" Set appearance
|
||||
call defx#custom#option(
|
||||
\ '_', {
|
||||
\ 'winwidth': 40,
|
||||
\ 'split': 'vertical',
|
||||
\ 'direction': 'botright',
|
||||
\ 'show_ignored_files': 0,
|
||||
\ 'buffer_name': 'defxplorer',
|
||||
\ 'toggle': 1,
|
||||
\ 'columns': 'icon:indent:icons:filename',
|
||||
\ 'resume': 1,
|
||||
\ }
|
||||
\ )
|
||||
|
||||
call defx#custom#column(
|
||||
\ 'icon', {
|
||||
\ 'directory_icon': '▸',
|
||||
\ 'opened_icon': '▾',
|
||||
\ }
|
||||
\ )
|
||||
|
||||
call defx#custom#column(
|
||||
\ 'mark', {
|
||||
\ 'readonly_icon': '✗',
|
||||
\ 'selected_icon': '✓',
|
||||
\ }
|
||||
\ )
|
||||
|
||||
"
|
||||
" Startify
|
||||
" Deoplete
|
||||
"
|
||||
" let g:startify_custom_header = 'startify#center(startify#fortune#cowsay())'
|
||||
if using_neovim
|
||||
let g:deoplete#enable_at_startup = 1
|
||||
endif
|
||||
|
||||
" let g:startify_session_dir = '~/.vim/session'
|
||||
"
|
||||
" FZF
|
||||
"
|
||||
" This is the default extra key bindings
|
||||
let g:fzf_action = {
|
||||
\ 'enter': 'e',
|
||||
\ 'ctrl-h': 'split',
|
||||
\ 'ctrl-v': 'vsplit'
|
||||
\ }
|
||||
" Preview window
|
||||
let g:fzf_preview_window = 'right:60%'
|
||||
if has('nvim') && !exists('g:fzf_layout')
|
||||
autocmd! FileType fzf
|
||||
autocmd FileType fzf set laststatus=0 noshowmode noruler
|
||||
\| autocmd BufLeave <buffer> set laststatus=2 showmode ruler
|
||||
endif
|
||||
|
||||
" let g:startify_lists = [
|
||||
" \ { 'type': 'files', 'header': ['RÉCENTS'] },
|
||||
" \ { 'type': 'sessions', 'header': ['SESSIONS'] },
|
||||
" \ { 'type': 'bookmarks', 'header': ['MARQUES-PAGES'] },
|
||||
" \ ]
|
||||
|
||||
" let g:startify_enable_special = 0
|
||||
" let g:startify_files_number = 5
|
||||
|
||||
" let g:startify_bookmarks = [
|
||||
" \ '~/.vimrc',
|
||||
" \ '~/.vim/keybindings.vim',
|
||||
" \ '~/.vim/plug.vim',
|
||||
" \ '~/.vim/scripts.vim',
|
||||
" \ '~/Projets/latex/latex-homework'
|
||||
" \ ]
|
||||
"
|
||||
" Header
|
||||
"
|
||||
let g:header_field_author = 'Jeff LANCE'
|
||||
let g:header_field_author_email = 'email@jefflance.me'
|
||||
let g:header_auto_add_header = 0
|
||||
|
||||
"
|
||||
" Lightline
|
||||
"
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'jellybeans',
|
||||
\ 'active': {
|
||||
\ 'left': [ [ 'mode', 'paste' ],
|
||||
\ [ 'readonly', 'filename', 'modified' ] ],
|
||||
\ 'right': [ [ 'lineinfo' ],
|
||||
\ [ 'percent' ],
|
||||
\ [ 'fileformat', 'fileencoding', 'filetype', 'kitestatus' ] ],
|
||||
\ },
|
||||
\ 'component': {
|
||||
\ 'readonly': '%{&readonly?"|":""}',
|
||||
\ 'kitestatus': '%{kite#statusline()}',
|
||||
\ },
|
||||
\ 'colorscheme': 'jellybeans',
|
||||
\ 'active': {
|
||||
\ 'left': [ [ 'mode', 'paste' ],
|
||||
\ [ 'readonly', 'filename', 'modified' ] ],
|
||||
\ 'right': [ [ 'lineinfo' ],
|
||||
\ [ 'percent' ],
|
||||
\ [ 'fileformat', 'fileencoding', 'filetype', 'kitestatus' ] ],
|
||||
\ },
|
||||
\ 'component': {
|
||||
\ 'readonly': '%{&readonly?"|":""}',
|
||||
\ 'kitestatus': '%{kite#statusline()}',
|
||||
\ },
|
||||
\ 'component_function': {
|
||||
\ 'gitbranch': 'FugitiveHead'
|
||||
\ },
|
||||
\ 'separator': { 'left': '', 'right': '' },
|
||||
\ 'subseparator': { 'left': '', 'right': '' }
|
||||
\ }
|
||||
\ 'gitbranch': 'FugitiveHead'
|
||||
\ },
|
||||
\ 'separator': { 'left': '', 'right': '' },
|
||||
\ 'subseparator': { 'left': '', 'right': '' }
|
||||
\ }
|
||||
|
||||
"
|
||||
" Markdown review
|
||||
"
|
||||
let vim_markdown_preview_toggle=1
|
||||
let vim_markdown_preview_browser='x-www-browser'
|
||||
|
||||
"
|
||||
" REPL
|
||||
"
|
||||
let g:repl_program = {
|
||||
\ 'python': ['ipython'],
|
||||
\ 'default': ['zsh'],
|
||||
\ 'r': ['R'],
|
||||
\ 'lua': ['lua'],
|
||||
\ 'vim': ['vim -e']
|
||||
\ }
|
||||
let g:repl_predefine_python = {
|
||||
\ 'numpy': 'import numpy as np',
|
||||
\ 'matplotlib': 'from matplotlib import pyplot as plt'
|
||||
\ }
|
||||
let g:repl_cursor_down = 1
|
||||
let g:repl_python_automerge = 1
|
||||
let g:repl_ipython_version = '7'
|
||||
let g:repl_position = 3
|
||||
|
||||
"
|
||||
" Startify
|
||||
"
|
||||
let g:startify_custom_header = 'startify#center(startify#fortune#cowsay())'
|
||||
let g:startify_session_dir = '~/.vim/session'
|
||||
let g:startify_lists = [
|
||||
\ { 'type': 'files', 'header': ['MRU' . getcwd()] },
|
||||
\ { 'type': 'sessions', 'header': ['SESSIONS'] },
|
||||
\ { 'type': 'bookmarks', 'header': ['BOOKMARKS'] },
|
||||
\ ]
|
||||
let g:startify_enable_special = 0
|
||||
let g:startify_files_number = 10
|
||||
let g:startify_bookmarks = [
|
||||
\ '~/.config/',
|
||||
\ '~/.vimrc',
|
||||
\ '~/.vim/keybindings.vim',
|
||||
\ '~/.vim/plug.vim',
|
||||
\ '~/.vim/functions.vim',
|
||||
\ '~/Projets/latex/latex-homework'
|
||||
\ ]
|
||||
|
||||
"
|
||||
" Tmuxline
|
||||
"
|
||||
let g:tmuxline_preset = {
|
||||
\'a' : '#S',
|
||||
\'win' : ['#I', '#W'],
|
||||
\'cwin' : ['#I', '#W', '#F'],
|
||||
\'y' : ['%a', '%d', '%b', '%R'],
|
||||
\'z' : '#H'
|
||||
\ }
|
||||
\'a' : '#S',
|
||||
\'win' : ['#I', '#W'],
|
||||
\'cwin' : ['#I', '#W', '#F'],
|
||||
\'y' : ['%a', '%d', '%b', '%R'],
|
||||
\'z' : '#H'
|
||||
\ }
|
||||
let g:tmuxline_separators = {
|
||||
\ 'left' : '',
|
||||
\ 'left_alt': '>',
|
||||
\ 'right' : '',
|
||||
\ 'right_alt' : '',
|
||||
\ 'space' : ' '}
|
||||
let g:tmuxline_theme = 'jellybeans'
|
||||
\ 'left' : '',
|
||||
\ 'left_alt': '>',
|
||||
\ 'right' : '',
|
||||
\ 'right_alt' : '',
|
||||
\ 'space' : ' '
|
||||
\ }
|
||||
let g:tmuxline_theme = 'sourcerer'
|
||||
|
||||
"
|
||||
" CtrlP
|
||||
" TMux navigator
|
||||
"
|
||||
let g:ctrlp_map = '<C-f>'
|
||||
let g:ctrlp_cmd = 'CtrlPMixed'
|
||||
let g:ctrlp_switch_buffer = 'et'
|
||||
let g:tmux_navigator_no_mappings = 1
|
||||
let g:tmux_navigator_save_on_switch = 2
|
||||
|
||||
"
|
||||
" Vimroom
|
||||
@ -308,3 +429,5 @@ source $HOME/.vim/functions.vim
|
||||
|
||||
" Load keybindings from file
|
||||
source $HOME/.vim/keybindings.vim
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user