" Mark's super duper _ " _ __ ___ _____ _(_)_ __ ___ "| '_ \ / _ \/ _ \ \ / / | '_ ` _ \ "| | | | __/ (_) \ V /| | | | | | | "|_| |_|\___|\___/ \_/ |_|_| |_| |_| set title set history=700 set background=dark filetype plugin on filetype indent on syntax enable let mapleader=" " let maplocalleader=" " set autoread " automatically reload changed files set wildmenu " handy auto complete menu set list set listchars=tab:·\ ,trail:▂,extends:»,precedes:« set infercase " completion recognizes capitalization set smartcase set ignorecase set incsearch " search as you type set hidden " sometimes I don't want to save a buffer before switching away from it set completeopt-=preview set matchtime=1 set modeline set modelines=5 set noswapfile set scrolloff=8 set shiftwidth=4 set softtabstop=4 set spell set tabstop=4 " install vim-plug if !filereadable(expand('~/.local/share/nvim/site/autoload/plug.vim')) silent !echo "Installing vim-plug..." silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim endif call plug#begin('~/.local/share/nvim/plugged') " color schemes Plug 'dylanaraps/wal.vim' " syntax Plug 'calviken/vim-gdscript3' Plug 'ianks/vim-tsx' Plug 'cakebaker/scss-syntax.vim' Plug 'posva/vim-vue' Plug 'lepture/vim-jinja' " functionality Plug 'tpope/vim-sensible' Plug 'tpope/vim-abolish' Plug 'tpope/vim-surround' Plug 'tpope/vim-dispatch' Plug 'tpope/vim-vinegar' Plug 'tpope/vim-commentary', "{{{ nmap c Commentary xmap c Commentary omap c Commentary nmap cc CommentaryLine "}}} Plug 'tpope/vim-fugitive', "{{{ map \b :Gblame map \l :Glog map \gs :Gstatus "}}} Plug 'carlitux/deoplete-ternjs', {'do': 'npm install -g tern'} Plug 'w0rp/ale', "{{{ let g:ale_linters = { \ 'c': ['clang'], \ 'cpp': ['clangx'], \ 'php': ['phpcs'], \ 'javascript': ['eslint'], \} let g:ale_python_pylint_options = '--load-plugins pylint_django' let g:ale_sign_error = '⬤' "}}} Plug 'vim-airline/vim-airline-themes' Plug 'vim-airline/vim-airline', "{{{ let g:airline_symbols = {} let g:airline_symbols.branch = '⭠' let g:airline_symbols.readonly = '⭤' let g:airline_symbols.linenr = '⭡' let g:airline#extensions#tabline#enabled = 1 let g:airline_theme = 'wal' "}}} Plug 'mattn/webapi-vim' Plug 'mattn/gist-vim' Plug 'easymotion/vim-easymotion', "{{{ map (easymotion-prefix) "}}} if has('nvim') Plug 'Shougo/deoplete.nvim', {'do': ':UpdateRemotePlugins'} else Plug 'Shougo/deoplete.nvim' Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' endif let g:deoplete#enable_at_startup = 1 let g:deoplete#enable_smart_case = 1 let g:deoplete#sources#syntax#min_keyword_length = 2 Plug 'Shougo/neosnippet-snippets' Plug 'Shougo/neosnippet.vim', "{{{ let g:neosnippet#snippets_directory = '~/.vim/bundle/'.expand(fnamemodify($MYVIMRC, ':p:h').'/snippets/') let g:neosnippet#enable_snipmate_compatibility = 1 "}}} Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} Plug 'junegunn/fzf.vim', "{{{ "}}} call plug#end() " key bindings map :bnext map :bprev nmap j " faster window movement nmap k nmap h nmap l vmap :sort " sort lines in visual mode with ctrl-o map mzgg=G`z " autoformat document nmap n :set invnumber " toggle line numbers vnoremap < >gv nnoremap pu :PlugUpdate " vim-plug actions nnoremap pi :PlugInstall nnoremap pc :PlugClean nnoremap o :jumps " show jumps list nnoremap zn ]s " next misspelling nnoremap zp [s " prev misspelling nnoremap zf 1z= " replace misspelling with first suggestion nnoremap z! :set local spell! " toggle spellcheck nnoremap ve :e $MYVIMRC " quick open this file if executable('rg') set grepprg='rg\ --vimgrep' " use ripgrep if available endif " theme / visual colorscheme wal hi clear SpellBad " italicize misspellings hi SpellBad gui=underline cterm=italic " netrw nnoremap \e :Lexplore! let g:netrw_banner = 0 let g:netrw_liststyle = 3 let g:netrw_altv = 1 let g:netrw_winsize = 25 let g:netrw_browse_split = 4 augroup netrw_mapping autocmd! autocmd filetype netrw call NetrwMapping() augroup END function! NetrwMapping() noremap \e :bd endfunction " read .vimlocal if available if filereadable(expand('~/.vimlocal')) source ~/.vimlocal endif