Skip to content

Instantly share code, notes, and snippets.

@RyanMacG
Created March 6, 2020 13:45
Show Gist options
  • Save RyanMacG/d9bd6e2f9a4409dfc634a3ac7decad85 to your computer and use it in GitHub Desktop.
Save RyanMacG/d9bd6e2f9a4409dfc634a3ac7decad85 to your computer and use it in GitHub Desktop.
scriptencoding utf-8
" Colourscheme setting
colorscheme OceanicNext
" Airline config
" {{{
let g:airline_theme='oceanicnext'
let g:airline_left_sep = '▓▒░'
let g:airline_right_sep = '░▒▓'
let g:airline_section_z = '%2p%% %2l/%L:%2v'
let g:airline#extensions#syntastic#enabled = 0
let g:airline#extensions#whitespace#enabled = 0
let g:airline_exclude_preview = 1
let g:airline_powerline_fonts = 1
" Tabline
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#show_buffers = 1
let g:airline#extensions#tabline#show_tabs = 0
let g:airline#extensions#tabline#buffer_idx_mode = 1
let g:airline#extensions#tabline#fnamecollapse = 1
let g:airline#extensions#tabline#show_close_button = 0
let g:airline#extensions#tabline#show_tab_type = 0
let g:airline#extensions#tabline#buffer_min_count = 2
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
nmap <leader>3 <Plug>AirlineSelectTab3
nmap <leader>4 <Plug>AirlineSelectTab4
nmap <leader>5 <Plug>AirlineSelectTab5
nmap <leader>6 <Plug>AirlineSelectTab6
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
" }}}
" Limelight
" {{{
nmap <silent> gl :Limelight!!<CR>
xmap gl <Plug>(Limelight)
" }}}
" Goyo
" {{{
nmap <silent> <leader>gg :Goyo<CR>
" }}}
" Disable search highlighting
nnoremap <silent> <Esc><Esc> :nohlsearch<CR><Esc>
" Make those debugger statements painfully obvious
augroup debuggerHighlights
au BufEnter * syn match error contained "\<binding.pry\>"
au BufEnter * syn match error contained "\<binding.remote_pry\>"
au BufEnter * syn match error contained "\<byebug\>"
au BufEnter *.rb syn match error contained "\<debugger\>"
augroup END
" Italic comments
highlight Comment cterm=italic gui=italic
" ================ General Config ====================
set number "Line numbers are good
set backspace=indent,eol,start "Allow backspace in insert mode
set history=1000 "Store lots of :cmdline history
set lazyredraw
set showcmd "Show incomplete cmds down the bottom
set showmode "Show current mode down the bottom
set visualbell "No sounds
set autoread "Reload files changed outside vim
set clipboard=unnamedplus
" This makes vim act like all other editors, buffers can
" exist in the background without being in a window.
" http://items.sjbach.com/319/configuring-vim-right
set hidden
"turn on syntax highlighting
syntax enable
" Change leader to a comma because the backslash is too far away
" That means all \x commands turn into ,x
" The mapleader has to be set before vundle starts loading all
" the plugins.
let mapleader="\<Space>"
set ttimeout
set ttimeoutlen=-1
set ttyfast
set autoindent
set smartindent
set smarttab
set shiftwidth=2
set softtabstop=2
set tabstop=2
set expandtab
set fdm=syntax
set foldnestmax=10
set nofoldenable
filetype plugin indent on
" Display tabs and trailing spaces visually
set list listchars=tab:\ \ ,trail:·
" set nowrap "Don't wrap lines
set linebreak "Wrap lines at convenient points
" ================ Turn Off Swap Files ==============
set noswapfile
set nobackup
set nowritebackup
" ================ Persistent Undo ==================
" Keep undo history across sessions, by storing in file.
" Only works all the time.
if has('persistent_undo')
silent !mkdir ~/.config/.nvim/undodir > /dev/null 2>&1
set undodir=~/.config/.nvim/undodir
set undofile
endif
" ! save global variables that doesn't contains lowercase letters
" h disable the effect of 'hlsearch' when loading the viminfo
" f1 store marks
" '100 remember 100 previously edited files
set viminfo=!,h,f1,'100
" ================ Scrolling ========================
set scrolloff=999 " always keep cursor in middle of the screen
set sidescrolloff=15
set sidescroll=1
set mouse= " no mouse scrolling
" ================ Search ===========================
set incsearch " Find the next match as we type the search
set hlsearch " Highlight searches by default
set ignorecase " Ignore case when searching...
set smartcase " ...unless we type a capital
set wildmode=list:longest
set wildmenu "enable ctrl-n and ctrl-p to scroll thru matches
set wildignore=*.o,*.obj,*~ "stuff to ignore when tab completing
set wildignore+=*vim/backups*
set wildignore+=*sass-cache*
set wildignore+=*DS_Store*
set wildignore+=vendor/rails/**
set wildignore+=vendor/cache/**
set wildignore+=*.gem
set wildignore+=log/**
set wildignore+=tmp/**
set wildignore+=*.png,*.jpg,*.gif
" Allow the neovim Python plugin to work inside a virtualenv, by manually
" specifying the path to python2. This variable must be set before any calls to
" `has('python')`.
if has('nvim')
let g:python3_host_prog='/usr/local/bin/python3'
endif
set termguicolors
set inccommand=nosplit
augroup vimGeneralCallbacks
autocmd!
autocmd BufWritePost $HOME/.config/nvim/init.vim nested source $HOME/.config/nvim/init.vim
autocmd BufWritePost $HOME/.config/nvim/setup_files/general.vim nested source $HOME/.config/nvim/init.vim
autocmd BufWritePost $HOME/.config/nvim/setup_files/dein.vim nested source $HOME/.config/nvim/init.vim
autocmd BufWritePost $HOME/.config/nvim/setup_files/appearance.vim nested source $HOME/.config/nvim/init.vim
autocmd BufWritePost $HOME/.config/nvim/setup_files/fzf.vim nested source $HOME/.config/nvim/init.vim
autocmd BufWritePost $HOME/.config/nvim/setup_files/utilities.vim nested source $HOME/.config/nvim/init.vim
augroup END
so $HOME/.config/nvim/setup_files/general.vim
so $HOME/.config/nvim/setup_files/appearance.vim
so $HOME/.config/nvim/setup_files/dein.vim
so $HOME/.config/nvim/setup_files/fzf.vim
so $HOME/.config/nvim/setup_files/utilities.vim
so $HOME/.config/nvim/setup_files/windows.vim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment