Created
October 31, 2015 00:07
-
-
Save flyingfisch/ee1bbf39cf30125ae98d to your computer and use it in GitHub Desktop.
My .vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" 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