" (_) " __ ___ _ __ ___ _ __ ___ " \ \ / / | '_ ` _ \| '__/ __| " \ V /| | | | | | | | | (__ " \_/ |_|_| |_| |_|_| \___| " theme {{{ syntax on set background=dark colorscheme solarized " }}} " plugins {{{ call plug#begin('~/.vim/plugged') Plug 'tpope/vim-fugitive' Plug 'pangloss/vim-javascript' Plug 'justinmk/vim-dirvish' Plug 'tpope/vim-surround' Plug 'pangloss/vim-javascript' Plug 'roxma/nvim-yarp' Plug 'ncm2/ncm2' Plug 'ncm2/ncm2-bufword' Plug 'ncm2/ncm2-path' Plug 'ncm2/ncm2-jedi' Plug 'ncm2/ncm2-tagprefix' Plug 'jpalardy/vim-slime', { 'branch': 'main' } Plug 'tpope/vim-commentary' Plug 'itchyny/lightline.vim' Plug 'dense-analysis/ale' Plug 'airblade/vim-gitgutter' Plug 'tpope/vim-surround' Plug 'tmhedberg/SimpylFold' call plug#end() " }}} " options {{{ set rtp-=~/.vim/after set rtp+=~/.vim/after set formatoptions=o set comments=b:# set listchars+=space:. set number set sw=4 ts=4 sts=4 autoindent noexpandtab set modeline set backspace=eol,start,indent set whichwrap+=<,>,h,l set wrap set breakindentopt=shift:3,min:40,sbr set breakindent set linebreak set ignorecase set smartcase set hlsearch set incsearch set mat=2 set cursorline set visualbell set colorcolumn=80 set splitbelow set splitright set spelllang=en_gb set spellfile=~/.vim/spell/en.utf-8.add function! FoldText() return repeat(" ", indent(v:foldstart)) . trim(getline(v:foldstart))[0:-1] . " +" . repeat(" ", winwidth(0)) endfunction set foldtext=FoldText() set foldenable set foldmethod=marker set foldopen-=block set completeopt=noinsert,menuone,noselect set shortmess+=c au TermOpen * setlocal nonumber " }}} " variables {{{ let g:python3_host_prog="~/.env/bin/python" let g:slime_target = "tmux" let g:slime_default_config = {"socket_name": "default", "target_pane": ":.2"} let g:lightline = { \ 'colorscheme': 'solarized', \ 'inactive': { \ 'left': [ ['filename'] ], \ 'right': [] \ } \ } let g:ale_lint_on_save = 1 let g:ale_fix_on_save = 0 let g:ale_python_auto_virtualenv = 1 let g:ale_python_flake8_use_global = 0 " }}} " mappings {{{ nnoremap x ((foldclosed('.')==-1)?('x'):('zo0x')) nnoremap nnoremap nnoremap nnoremap nnoremap = = tnoremap nnoremap :noh inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "\" nmap (dirvish_up) nmap vmap nmap vmap nnoremap gn :GitGutterNextHunk nnoremap gp :GitGutterPrevHunk " }}} " autocommands {{{ autocmd BufEnter * call ncm2#enable_for_buffer() augroup CursorLineOnlyInActiveWindow autocmd! autocmd VimEnter,WinEnter,BufWinEnter * setlocal cursorline autocmd WinLeave * setlocal nocursorline augroup END " }}} " commands {{{ command -nargs=1 GitDiff execute "normal! :Gvdiffsplit ".."\" " }}}