Skip to content

Instantly share code, notes, and snippets.

@flyingfisch
Created October 31, 2015 00:07
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 flyingfisch/ee1bbf39cf30125ae98d to your computer and use it in GitHub Desktop.
Save flyingfisch/ee1bbf39cf30125ae98d to your computer and use it in GitHub Desktop.
My .vimrc
" infect
execute pathogen#infect()
filetype off
syntax on
filetype plugin indent on
set autoindent
set smartindent
set mouse=a
set nocursorline
set linespace=6
set guifont=Source\ Code\ Pro\ for\ Powerline\ Medium\ 10
" line numbering
set number
autocmd InsertEnter * :set norelativenumber
autocmd InsertLeave * :set relativenumber
" put the backup files in a sane place, thank you.
set backupdir=~/.vim/backup
set foldmethod=marker
" make space leader key
let mapleader = ' '
" be able to navigate through wrapped lines
map <silent> <Up> gk
imap <silent> <Up> <C-o>gk
map <silent> <Down> gj
imap <silent> <Down> <C-o>gj
map <silent> <home> g<home>
imap <silent> <home> <C-o>g<home>
map <silent> <End> g<End>
imap <silent> <End> <C-o>g<End>
" Set encoding
set encoding=utf-8
" 256 color
set t_Co=256
" Change working directory
cd ~
" be iMproved
set nocompatible
" search options
set ignorecase
set smartcase
set incsearch
" vimshell shortcut
map <leader>s <ESC>:VimShellPop<return>
" etc
set nohlsearch
set conceallevel=0
autocmd BufEnter * set conceallevel=0
" Vimshell stuff
let g:vimshell_enable_smart_case = 1
let g:vimshell_prompt = '>'
let g:vimshell_right_prompt = 'system("date")'
let g:vimshell_user_prompt = 'fnamemodify(getcwd(), ":~")'
let g:vimshell_temporary_directory = "~/tmp/vimshell"
" indent stuff
set autoindent
" set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
" more stuffs (airline related)
set ttimeoutlen=22
map <leader>r <ESC>:AirlineRefresh<CR>
"let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#fnamecollapse = 1
let g:airline#extensions#tabline#fnamemod = ':p:.'
let g:airline#extensions#tabline#close_symbol = '×'
" Ctrl-P
let g:ctrlp_by_filename = 0
let g:ctrlp_switch_buffer = 'Et'
let g:ctrlp_working_path_mode = 'wr'
let g:ctrlp_use_caching = 1
"let g:ctrlp_use_caching = 0
let g:ctrlp_clear_cache_on_exit = 1
let g:ctrlp_show_hidden = 0
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:airline#extensions#tabline#buffer_nr_show = 1
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*.o,*.hi
" Laravel stuff
autocmd BufEnter *.php set ft=php.laravel.html
autocmd BufEnter *.blade.php set ft=blade
"autocmd BufEnter *.blade.php set ft=php.laravel.blade
" Haskell stuff
autocmd BufEnter *.hs set expandtab nofoldenable
let g:haskell_conceal_wide = 0
let g:haskell_conceal = 0
let g:haskell_conceal_enumerations = 0
" Auto-source .vimrc and .gvimrc on change
"augroup myvimrc
" au!
" autocmd bufwritepost .vimrc.after source ~/.vimrc.after
" autocmd bufwritepost .vimrc.before source ~/.vimrc.before
" autocmd bufwritepost .vimrc source ~/.vimrc
"augroup END
" super retab (http://vim.wikia.com/wiki/VimTip1592)
command! -nargs=1 -range SuperRetab <line1>,<line2>s/\v%(^ *)@<= {<args>}/\t/g
command! -range=% -nargs=0 Tab2Space execute '<line1>,<line2>s#^\t\+#\=repeat(" ", len(submatch(0))*' . &ts . ')'
command! -range=% -nargs=0 Space2Tab execute '<line1>,<line2>s#^\( \{'.&ts.'\}\)\+#\=repeat("\t", len(submatch(0))/' . &ts . ')'
" custom autocmds
nmap <leader>w :set wrap linebreak nolist wrapmargin=0 textwidth=0<CR>
nmap <leader>W :set nowrap nolinebreak list<CR>
nmap <leader>; <ESC>$a;<ESC>
nmap <leader>C :bp\|bd #<CR>
" auto pairs
let g:AutoPairsShortcutFastWrap = '<C-e>'
"let g:AutoPairsShortcutBackInsert = '<C-b>'
"let g:AutoPairsFlyMode = 1
" emmet
let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall
" autoclose html tags
":inoremap <lt>/ </<C-X><C-O>
" session save variables
let g:session_autosave = 'yes'
let g:session_persist_colors = 0
let g:session_autoload = 'yes'
set nofoldenable
set list
set listchars=tab:⏐\ ,trail:\•
" NERDTree
set autochdir
"autocmd BufEnter * if &modifiable | NERDTreeFind | wincmd p | endif
map <leader>N <ESC>:NERDTree<CR>
map <leader>n <ESC>:NERDTreeToggle<CR>
let g:indent_guides_exclude_filetypes = ['help', 'nerdtree']
let NERDTreeQuitOnOpen = 1
let NERDTreeIgnore = ['\.pyc$', '\.o$', '\~$']
" turn off concealing
set conceallevel=0
" set background based on time of day
"if strftime("%H") > 5 && strftime("%H") < 17
" set background=light
"else
" set background=dark
"endif
" Color scheme
set background=dark
let g:gruvbox_bold=0
let g:gruvbox_italic=0
let g:gruvbox_invert_signs=1
color gruvbox
" arduino
au BufRead,BufNewFile *.pde set filetype=arduino
au BufRead,BufNewFile *.ino set filetype=arduino
" buffer mappings
map <leader>> <ESC>:bnext!<CR>
map <leader>< <ESC>:bprev!<CR>
map <leader>x <ESC>:bwipe<CR>
" Ctrl+direction swaps lines
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
inoremap <C-j> <Esc>:m .+1<CR>==gi
inoremap <C-k> <Esc>:m .-2<CR>==gi
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv
set wildchar=<Tab> wildmenu wildmode=full
let g:user_emmet_install_global = 1
let g:user_emmet_leader_key='<C-x>'
" NeoComplete
let g:neocomplete#enable_at_startup = 1
let g:neocomplete#enable_smart_case = 1
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
"let g:neocomplete#enable_auto_select = 1
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
return neocomplete#close_popup() . "\<CR>"
endfunction
let g:OmniSharp_server_type = 'roslyn'
" GitGutter
let g:gitgutter_sign_column_always = 1
"let g:gitgutter_sign_removed = '-'
let g:gitgutter_sign_removed = '-'
let g:gitgutter_sign_added = '+'
let g:gitgutter_sign_modified = '~'
" Jedi
"autocmd FileType python setlocal completeopt-=preview
"let g:jedi#use_tabs_not_buffers = 0
"let g:jedi#popup_select_first = 0
"let g:jedi#popup_on_dot = 0
" neosnippets
let g:neosnippet#enable_snipmate_compatibility = 1
" Plugin key-mappings.
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
" SuperTab like snippets behavior.
imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)"
\: pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)"
\: "\<TAB>"
" For snippet_complete marker.
if has('conceal')
set conceallevel=2 concealcursor=niv
endif
let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets'
" Pydiction
" let g:pydiction_location = '/home/flyingfisch/.vim/bundle/pydiction/complete-dict'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment