I’ve decided to release my small .vimrc file to others who are interested.

You can also view all my dotfiles on github here.

"----------------------------------------
" Start general configurations
"----------------------------------------
set encoding=utf-8
set nocompatible " don't lose new vim features due to compatibility
set ts=2 sw=2 et " 2 space tabs (tabstop=2, shiftwidth=2, expandtab=true)
set autoindent "Always autoindent
set hlsearch " highlight search terms
set incsearch " show search while typing it
set smartcase " ignore case if search is lc, sensitive otherwise
set showmatch " set show matching parenthesis
set mouse=a " Allow mouse scrolling (peer programming)
set backspace=indent,eol,start " Allow backspace to work normally
set number " Turn on line numbers
set relativenumber " show relative line numbers
set laststatus=2 " Always show statusline
set list "Show invisible characters, next line specifies characters
set belloff=all "Turn off the annoying audible error bell
set listchars=eol:¬,nbsp:¤,space:,trail:,tab:››,extends:,precedes:,conceal:
set rtp+=~/.vim/bundle/Vundle.vim/ " set runtime path to use vundle for plugins

"----------------------------------------
" Start Vundle and loading plugins
"----------------------------------------
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' "Best plugin management for vim
Plugin 'moll/vim-node' "Allows gf/gF on relative node paths
Plugin 'digitaltoad/vim-pug' "Jade/Pug templating for Node
Plugin 'wavded/vim-stylus' "Stylus preprocessor for css
Plugin 'airblade/vim-gitgutter' "See git + / - / ~ in gutter
Plugin 'scrooloose/nerdtree' "File management
Plugin 'Xuyuanp/nerdtree-git-plugin' "Shows modifications in nerdtree
Plugin 'itchyny/lightline.vim' "pretty statusline
Plugin 'ctrlpvim/ctrlp.vim' "Fuzzy file finder
Plugin 'scrooloose/nerdcommenter' "Allows commenting of lines easier
Plugin 'ap/vim-buftabline' "Allows the buffers as tabs
Plugin 'easymotion/vim-easymotion' "Allows quick movement around vim
Plugin 'chr4/nginx.vim' "nginx sytax support
Plugin 'arcticicestudio/nord-vim' "color scheme
Plugin 'pangloss/vim-javascript' "Better tabbing in javascript
Plugin 'posva/vim-vue' "vue file syntax support
Plugin 'junegunn/goyo.vim' "distraction-free centering of file
call vundle#end()

filetype plugin indent on " Plugins default to indent

"---------------------------------------
" Reconfigure Plugin Options
"---------------------------------------
let g:NERDCustomDelimiters = {'vue': {'left': '//'}, 'javascript': {'left': '//'}}
let g:vue_pre_processors = ['pug', 'stylus']
let g:lightline = {'colorscheme': 'nord'}
let g:lightline.separator = { 'left': '', 'right': '' }
let NERDTreeQuitOnOpen = 1
let g:gitgutter_sign_added="++"
let g:gitgutter_sign_modified="~~"
let g:gitgutter_sign_removed="--"
let g:gitgutter_max_signs=3000
let g:ctrlp_map = '' " ctrl+p starts plugin
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_working_path_mode = 'ra' " start nearest search dir @ root .git
"---------------------------------------
" Keyboard mappings
"---------------------------------------
let mapleader="\"

" Session management
nnoremap s :ToggleWorkspace

" Distraction-free editing
nmap d :Goyo 80x75%:set showtabline=0
nmap v :Goyo!:set showtabline=2

" Open nerdtree and then open current file location in nerdtree
nmap \ :NERDTreeToggle
nmap \ :NERDTreeFind

" New buffers, quitting buffers
nmap T :enew
nmap bl :bnext
nmap bh :bprevious
nmap bq :bp  bd #
nmap bs :ls
nmap nj :rightbelow sb #
nmap nk :leftabove sb #
nmap nh :vert leftabove sb #
nmap nl :vert rightbelow sb #

" Indicate color code under cursor
nmap z :echo "hi trans lo"

" Selecting, making and resizing windows
nnoremap j j
nnoremap l l
nnoremap h h
nnoremap k k
nnoremap mk K
nnoremap mj Kr
nnoremap mh H
nnoremap ml Hr
nnoremap sk :res +5
nnoremap sj :res -5
nnoremap sh :vertical res -5
nnoremap sl :vertical res +5
nnoremap j gj
nnoremap k gk

"---------------------------------------------
" Color scheme configuration
"---------------------------------------------
syntax on "Make sure syntax highlighting is on
colorscheme nord
hi BufTabLineCurrent ctermfg=16 ctermbg=6 cterm=NONE
hi BufTabLineHidden ctermfg=8 ctermbg=NONE cterm=NONE
hi BufTabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE

" Color Fixes Caused by Plugins
hi link vueSurroundingTag htmlEndTag