Skip to content

Instantly share code, notes, and snippets.

@MrJadaml
Created July 24, 2018 15:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrJadaml/3db0eee7ea7b3512110129e151588c12 to your computer and use it in GitHub Desktop.
Save MrJadaml/3db0eee7ea7b3512110129e151588c12 to your computer and use it in GitHub Desktop.
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'airblade/vim-gitgutter'
Plugin 'ap/vim-css-color'
Plugin 'bling/vim-airline'
Plugin 'bronson/vim-trailing-whitespace'
Plugin 'easymotion/vim-easymotion'
Plugin 'edkolev/tmuxline.vim'
Plugin 'elzr/vim-json'
Plugin 'KeitaNakamura/neodark.vim'
Plugin 'kien/ctrlp.vim'
Plugin 'mxw/vim-jsx'
Plugin 'mileszs/ack.vim'
Plugin 'nathanaelkane/vim-indent-guides'
Plugin 'pangloss/vim-javascript'
Plugin 'rizzatti/dash.vim'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/nerdtree'
Plugin 'scrooloose/syntastic'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-markdown'
Plugin 'tpope/vim-repeat'
Plugin 'tpope/vim-surround'
Plugin 'valloric/youcompleteme'
"Plugin 'altercation/vim-colors-solarized'
call vundle#end()
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Updates files if ouside changes happen (like git reset HEAD~) auto command for :edit!
set autoread
"" THEMES
" Turn on syntax highlighting.
syntax on
" NeoDark Theme
let g:neodark#use_256color = 1
let g:neodark#solid_vertsplit = 1
let g:neodark#use_custom_terminal_theme = 1
colorscheme neodark
" Line number gutter colors
" highlight LineNr ctermfg=99 guifg=Purple
"highlight LineNr guibg=DarkGray ctermbg=233
"highlight SignColumn ctermbg=233 guibg=DarkGray
" Solarized Theme
"set background=dark
"let g:solarized_termcolors=256
"colorscheme solarized
" Airline, always show airline bar
set laststatus=2
let g:airline_powerline_fonts = 0
" Hide file encoding in airline bar
let g:airline_section_y = ''
let g:tmuxline_preset = 'nightly_fox'
"" GENERAL
" Multicursor select word under cursor
let g:multi_cursor_start_key='<C-n>'
let g:multi_cursor_start_word_key='g<C-n>'
" No swap files/backups
set noswapfile
set nobackup
set nowritebackup
" shows relative line number and current line number.
set relativenumber
set number
" make tabs spaces
set expandtab
set tabstop=2
set shiftwidth=2
" Don't wrap lines
set nowrap
" Save file on focus loss
autocmd BufLeave,FocusLost * silent! wall
" Copy to system clipboard
set clipboard=unnamed
"" SEARCH + FILE NAVIGATION
" Highlight search /
set hlsearch
noremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
" Live search highlighting
:set incsearch
"" ACK
" Ack search
nnoremap <C-k> :Ack
" Ack jump word under cursor
nnoremap <C-j> "zyiw:exe ":Ack ".@z""<CR>
"" CTRLP
" Set shell for ctrlP
set shell=/bin/bash
" CTRLP ignore files
let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|git'
set wildignore+=.DS_Store,node_modules,bower_*
set wildignore+=*.swp,*.git*
"" YCM
let g:ycm_autoclose_preview_window_after_completion=1
" NERDtree
let g:NERDTreeWinPos = "left"
let g:NERDTreeWinSize = 21
" open NERDTree w ctrl \
nmap <C-\> :NERDTreeToggle<CR>
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Adds mouse functionality in all modes
set mouse=a
" Allow resize of vim splits inside tmux
set ttymouse=sgr
" Clear all trailing whitespace (No Whitespace)
nmap <leader>nw :FixWhitespace<CR>
nnoremap cp :set invpaste paste?<CR>
set pastetoggle=cp
set showmode
" Toggles indent guides
nmap <leader>dn :IndentGuidesToggle<CR>
" jj to exit INSERT mode and write.
:imap jj <Esc>:w<CR>
if has("autocmd")
autocmd! bufwritepost .vimrc source $MYVIMRC
endif
" Open this file from any vim session.
nmap <leader>v :tabedit $MYVIMRC<CR>
" semi for command mode
noremap ; :
" Disable Ex mode
:nnoremap Q <Nop>
" Markdown mode
nmap <leader>md :set wrap linebreak textwidth=0<CR>
"" ABBREVIATIONS
"" EXPERIMENTAL CHANGES
let g:ack_user_dispatch=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment