Skip to content

Instantly share code, notes, and snippets.

@Samcfuchs
Last active December 29, 2016 19:20
Show Gist options
  • Save Samcfuchs/cd2ae6235c7d9832ed6e7d54b67d71ca to your computer and use it in GitHub Desktop.
Save Samcfuchs/cd2ae6235c7d9832ed6e7d54b67d71ca to your computer and use it in GitHub Desktop.
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
"behave mswin
" VUNDLE STUFF
filetype off " required
" Pretty
syntax enable
set background=dark
set laststatus=2
set guifont=Consolas:h12
set number
set nowrap
nohl
" Sign Column color fix
hi SignColumn guibg=none
hi SignColumn ctermbg=none
hi SignatureMarkText ctermbg=none
" Tabs
set autoindent
set tabstop=4
set softtabstop=0
set expandtab
set shiftwidth=4
set smarttab
set autochdir
set omnifunc=syntaxcomplete#Complete
" Minimize backup clutter
set noswapfile
set dir=~/tmp
set nobackup
set nowritebackup
set noundofile
"set listchars=tab:>- eol:¬
set listchars=tab:>-,trail:·,precedes:«,extends:»,eol:¬
" Buffer switching made easy
"nnoremap <Tab> :bnext<CR>
"nnoremap <S-Tab> :bprevious<CR>
" Easy insert empty line
map <leader>o o<esc>
map <leader>O O<esc>
" Fancy doubletaps
function! ToggleMovement(firstOp, thenOp)
let pos = getpos('.')
execute "normal! " . a:firstOp
if pos == getpos('.')
execute "normal! " . a:thenOp
endif
endfunction
" The original carat 0 swap
nnoremap <silent> 0 :call ToggleMovement('^', '0')<CR>
" How about G and gg
nnoremap <silent> G :call ToggleMovement('G', 'gg')<CR>
nnoremap <silent> gg :call ToggleMovement('gg', 'G')<CR>
" Easy split switching
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" Easy split moving
nnoremap <leader>= :vertical resize +5<CR>
nnoremap <leader>- :vertical resize -5<CR>
" Easy buffer management
nnoremap <leader>t :new<CR>
nnoremap <leader>h :bp<CR>
nnoremap <leader>l :bn<CR>
nnoremap <Leader>w :w<CR> " Easy saving
nnoremap <Leader>x :x<CR> " Easy saving
nnoremap <Leader>q :q<CR> " Easy saving
" Fix mouse being annoying
set mouse=
" Bindings
" Make y behave consistently
map Y y$
" Make it easy to escape insert mode
imap jj <esc>
" Leader
let mapleader = "\\"
map <SPACE> <leader>
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
"behave mswin
" VUNDLE STUFF
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim/
call vundle#begin()
" PLUGINS
Plugin 'VundleVim/Vundle.vim' " Package Manager
Plugin 'tpope/vim-fugitive' " Git client
Plugin 'altercation/vim-colors-solarized' " Theme
Plugin 'scrooloose/nerdtree' " File tree
Plugin 'ctrlpvim/ctrlp.vim' " Quick fuzzy finder
Plugin 'kshenoy/vim-signature' " Improved marking
Plugin 'scrooloose/Syntastic' " Linter
Plugin 'mechatroner/rainbow_csv' " Easy csv reading
Plugin 'restore_view.vim' " Preserves manual folds
Plugin 'vim-airline/vim-airline' " Status line
Plugin 'vim-airline/vim-airline-themes' " Airline themes
Plugin 'tfnico/vim-gradle' " Adds gradle support
Plugin 'Valloric/YouCompleteMe' " autocompletion
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" air-line
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
" Pretty
syntax enable
set background=dark
set laststatus=2
colorscheme solarized
set guifont=Consolas:h12
set number
set nowrap
nohl
" Sign Column color fix
hi SignColumn guibg=none
hi SignColumn ctermbg=none
hi SignatureMarkText ctermbg=none
" Tabs
set autoindent
set tabstop=4
set softtabstop=0
set expandtab
set shiftwidth=4
set smarttab
set autochdir
set omnifunc=syntaxcomplete#Complete
" Minimize backup clutter
set noswapfile
set dir=~/tmp
set nobackup
set nowritebackup
set noundofile
"let g:SuperTabDefaultCompletionType = 'context'
" Eclim bindings
nnoremap <silent> <buffer> <leader>i :JavaImportOrganize<cr>
nnoremap <silent> <buffer> <C-O> :JavaImportOrganize<cr>
imap <C-SPACE> <C-X><C-U>
let g:EclimCompletionMethod = 'omnifunc'
"set listchars=tab:>- eol:¬
set listchars=tab:>-,trail:·,precedes:«,extends:»,eol:¬
" Buffer switching made easy
"nnoremap <Tab> :bnext<CR>
"nnoremap <S-Tab> :bprevious<CR>
" Easy insert empty line
map <leader>o o<esc>
map <leader>O O<esc>
" Fancy doubletaps
function! ToggleMovement(firstOp, thenOp)
let pos = getpos('.')
execute "normal! " . a:firstOp
if pos == getpos('.')
execute "normal! " . a:thenOp
endif
endfunction
" The original carat 0 swap
nnoremap <silent> 0 :call ToggleMovement('^', '0')<CR>
" How about G and gg
nnoremap <silent> G :call ToggleMovement('G', 'gg')<CR>
nnoremap <silent> gg :call ToggleMovement('gg', 'G')<CR>
" Easy split switching
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" Easy split moving
nnoremap <leader>= :vertical resize +5<CR>
nnoremap <leader>- :vertical resize -5<CR>
" Easy buffer management
nnoremap <leader>t :new<CR>
nnoremap <leader>h :bp<CR>
nnoremap <leader>l :bn<CR>
" Airline settings
let g:airline#extensions#tabline#enabled = 1 " Enable tabline
let g:airline#extensions#tabline#fnamemod = ':t' " Show just the filename
nnoremap <Leader>w :w<CR> " Easy saving
nnoremap <Leader>x :x<CR> " Easy saving
nnoremap <Leader>q :q<CR> " Easy saving
nnoremap <leader>n :NERDTreeToggle<CR> " close NERDTree
" Fix mouse being annoying
set mouse=
" Autoclose scratch windows
let g:ycm_autoclose_preview_window_after_insertion = 1
let g:ycm_autoclose_preview_window_after_completion = 1
" Bindings
" Make y behave consistently
map Y y$
" Make it easy to escape insert mode
imap jj <esc>
let g:ctrlp_map = '<c-p>' " ctrlp binding
" Leader
let mapleader = "\\"
map <SPACE> <leader>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment