packadd minpac call minpac#init() " minpac must have {'type': 'opt'} so that it can be loaded with `packadd`. call minpac#add('k-takata/minpac', {'type': 'opt'}) call minpac#add('honza/vim-snippets', {'type': 'start'}) call minpac#add('SirVer/ultisnips') call minpac#add('junegunn/limelight.vim') call minpac#add('junegunn/goyo.vim') call minpac#add('junegunn/fzf') call minpac#add('junegunn/fzf.vim') call minpac#add('ambv/black') call minpac#add('davidhalter/jedi-vim') call minpac#add('vim-airline/vim-airline') call minpac#add('ap/vim-css-color') call minpac#add('fatih/vim-go') call minpac#add('dpelle/vim-Grammalecte') call minpac#add('ledger/vim-ledger') call minpac#add('tpope/vim-markdown') call minpac#add('nfnty/vim-nftables') call minpac#add('adborden/vim-notmuch-address') call minpac#add('cespare/vim-toml') call minpac#add('pbrisbin/vim-mkdir') call minpac#add('tpope/vim-eunuch') call minpac#add('lambdalisue/suda.vim') call minpac#add('airblade/vim-gitgutter') call minpac#add('thaerkh/vim-indentguides') command! PackUpdate call minpac#update() command! PackClean call minpac#clean() cmap w!! w suda://% colorscheme desert-warm-256 let g:UltiSnipsSnippetDirectories=["UltiSnips", "mysnippets"] let g:indentguides_ignorelist = ['txt','md','help'] let g:rustfmt_autosave = 1 let g:netrw_dirhistmax = 0 let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 let g:limelight_conceal_ctermfg = 'gray' let g:snips_author = 'Julien Rabier' let g:name = 'Julien Rabier' let g:nickname = 'taziden' let mapleader="," set backup set backupdir=$HOME/.vim/backup set hidden set ignorecase set lcs:tab:>-,trail:. set list set modeline set number set showmatch set spelllang=fr set statusline+=%#warningmsg# set statusline+=%* set undofile set undodir=~/.vim/undo "set virtualedit=all "set clipboard=unnamed set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=4 set pastetoggle= "set formatoptions=tcrqn2w "set formatlistpat=^\\s*[\\d\\*-]\\+[\\]:.)}\\t\ ]\\s* highlight clear SpellBad highlight SpellBad term=standout ctermfg=1 term=underline cterm=underline highlight clear SpellCap highlight SpellCap term=standout ctermfg=3 term=underline cterm=underline highlight clear SpellRare highlight SpellRare term=underline cterm=underline highlight clear SpellLocal highlight SpellLocal term=underline cterm=underline highlight RedundantSpaces ctermbg=red guibg=red match RedundantSpaces /\s\+$\| \+\ze\t\|\t/ " Jump to the last position when reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif endif nnoremap nnoremap nnoremap nnoremap nmap :TagbarToggle map :!hugo server -Dw map ,ga :!git add -p map ,gA :!git add % map ,gf :!git add map ,gs :!git status map ,gc :!git commit -m "" map ,gC :!git add %:!git commit -m "" map ,gd :!git diff map ,gD :!git diff --cached map ,gp :!git push map ,gP :!git pull map ,gb :!git branch map ,gB :!git branch map ,gh :!git checkout map ,gi :!git init map ,gt :!tig map :bp " Alt + Left arrow goes to the previous buffer map :bn " Alt + Right arrow goes to the next buffer nnoremap :NV function! s:goyo_enter() let b:quitting = 0 let b:quitting_bang = 0 autocmd QuitPre let b:quitting = 1 cabbrev q! let b:quitting_bang = 1 q! endfunction function! s:goyo_leave() " Quit Vim if this is the only remaining buffer if b:quitting && len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) == 1 if b:quitting_bang qa! else qa endif endif endfunction autocmd! User GoyoEnter call goyo_enter() autocmd! User GoyoLeave call goyo_leave() command! -bang -nargs=? -complete=dir Files \ call fzf#vim#files(, fzf#vim#with_preview(), 0) nnoremap :Files nnoremap ,ff :RG function! RipgrepFzf(query, fullscreen) let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' let initial_command = printf(command_fmt, shellescape(a:query)) let reload_command = printf(command_fmt, '{q}') let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) endfunction command! -nargs=* -bang RG call RipgrepFzf(, 0) let g:fzf_action = { \ 'ctrl-s': 'split', \ 'ctrl-v': 'vsplit', \ 'ctrl-t': 'edit', \ 'enter': 'tabedit', \ } nnoremap ,f :FZF {{- if eq .chezmoi.osRelease.prettyName "Debian GNU/Linux 10 (buster)" }} let g:go_version_warning = 0 {{- end }} {{- if eq .chezmoi.hostname "taupo" }} call minpac#add('alok/notational-fzf-vim') call minpac#add('rust-lang/rust.vim') call minpac#add('racer-rust/vim-racer') call minpac#add('majutsushi/tagbar') call minpac#add('Shougo/deoplete.nvim') call minpac#add('dense-analysis/ale') call minpac#add('mhinz/vim-crates') let g:racer_experimental_completer = 1 let g:nv_search_paths = ['~/notes'] let g:nv_default_extension = '.md' map :!pdflatex % map :!pinpoint % map :!hugo server -Dw map ,b :!bash gen.sh map ,c 2GddOTo: contact@sysnove.frjddOCc: autocmd BufNewFile,BufRead *.hledger,*.ledger,*.journal setfiletype ledger autocmd Filetype ledger set nospell autocmd CompleteDone * silent! pclose! " Racer augroup Racer autocmd! autocmd FileType rust nmap gd (rust-def) autocmd FileType rust nmap gs (rust-def-split) autocmd FileType rust nmap gx (rust-def-vertical) autocmd FileType rust nmap gt (rust-def-tab) autocmd FileType rust nmap gd (rust-doc) autocmd FileType rust nmap gD (rust-doc-tab) augroup END let g:deoplete#enable_at_startup = 1 let g:ale_linters = {'rust': ['analyzer']} autocmd BufRead Cargo.toml call crates#toggle() nnoremap c :!cargo clippy {{- end }}