" __ _ _ " ___ __ _ / _| ___ | |__ __ _| |__ ___ " / __| / _' | |_ / _ \| _ \ / _' | _ \ / _ \ " | |__ / (_| | _| __/| |_) / (_| | |_) | __/ " \___|\___._|_| \___||____/\___._|____/ \___/ " " Filename: vimrc " General Settings {{{{{{ filetype plugin indent on syntax enable set nocompatible set modeline set modelines=5 set nobackup set nowritebackup set updatetime=300 set hidden set noswapfile set laststatus=2 set shortmess+=c let g:markdown_fenced_languages = ['javascript', 'js=javascript', 'json=javascript'] let $RTP=split(&runtimepath, ',')[0] let $RC="$HOME/.vim/vimrc" " }}}}}} " Plugins {{{ call plug#begin('~/.vim/plugged') source ~/.config/vim/plugins/ale.vim source ~/.config/vim/plugins/coc.vim source ~/.config/vim/plugins/commentary.vim source ~/.config/vim/plugins/dirvish.vim source ~/.config/vim/plugins/gitbranch.vim source ~/.config/vim/plugins/javascript.vim source ~/.config/vim/plugins/lightline.vim source ~/.config/vim/plugins/maximizer.vim source ~/.config/vim/plugins/onedark.vim source ~/.config/vim/plugins/polyglot.vim call plug#end() " }}} " Colors {{{ if (has("termguicolors")) set termguicolors endif " joshdick/onedark.vim colorscheme onedark " }}} " Tabs and Spaces {{{ set autoindent set smartindent set expandtab set tabstop=4 set shiftwidth=4 " }}} " File Find {{{ " Search down into subfolders set path+=~/Scripts/**,~/Documents/** set wildmenu " }}} " UI {{{ set number set relativenumber set cursorline set showcmd set cmdheight=1 set completeopt=menuone,noinsert,noselect set splitright set splitbelow set ignorecase set smartcase set showmatch set signcolumn=yes set incsearch set diffopt+=vertical set foldenable set foldlevelstart=10 set foldnestmax=10 set foldmethod=marker " }}} " Commands {{{ " Use ^] to jump to tag under cursor " Use g^] for ambiguous tags " Use ^t to jump back up the tag stack command! MakeTags !ctags -R * " }}} " Keybindings {{{ let mapleader="\" " Quick navigation between splits nmap h nmap j nmap k nmap l " Delete all buffers nmap Q :bufdo bdelete nmap ve :edit $MYVIMRC nmap vr :source $MYVIMRC :doautocmd BufRead nnoremap m :MaximizerToggle! nnoremap F :ALEFix nnoremap d :cd %:p:h:pwd " Copy & Paste with system-clipboard vnoremap "+y nnoremap "+p " Quickly escape to normal mode imap jj " Allow gf to open non-existent files map gf :edit " Open the current file in the default program nmap x :!xdg-open % " }}} " vim:foldlevel=0