Last active
August 29, 2015 14:02
-
-
Save TheBB/a4f83caba9d4e23e6a28 to your computer and use it in GitHub Desktop.
ReneFroger's 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
" Easymotion { | |
let g:EasyMotion_leader_key = '<Space>' | |
let g:StupidEasyMotion_leader_key = 'f' | |
let g:EasyMotion_use_upper = 1 | |
let g:EasyMotion_keys = 'ASDFWIERUOGHJKL' | |
" } | |
" Vim Over { | |
let g:over_enable_auto_nohlsearch = 1 | |
let g:over_enable_cmd_window = 1 | |
let g:over_command_line_prompt = "> " | |
let g:over#command_line#search#enable_incsearch = 1 | |
" } | |
" Nerdtree { | |
let g:nerdtree_tabs_open_on_gui_startup=0 | |
let g:nerdtree_tabs_open_on_console_startup=0 | |
let NERDTreeShowHidden=0 | |
let g:NERDTreeMapOpenInTabSilent = 't' | |
let g:NERDTreeMapOpenInTabSilent = 'f' | |
let NERDTreeAutoDeleteBuffer=1 | |
let NERDTreeChDirMode=2 | |
"let NERDTreeHijackNetrw=1 | |
" } | |
" CtrlP { | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\.git$\|\.yardoc\|public$|log\|tmp$|backup', | |
\ 'file': '\.so$\|\.dat$|\.DS_Store$' | |
\ } | |
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe | |
" Use The Silver Searcher https://github.com/ggreer/the_silver_searcher | |
if executable('ag') | |
" Use Ag over Grep | |
set grepprg=ag\ --nogroup\ --nocolor | |
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore | |
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
" ag is fast enough that CtrlP doesn't need to cache | |
let g:ctrlp_use_caching = 0 | |
endif | |
let g:ctrlp_working_path_mode = 'ra' | |
let g:ctrlp_cache_dir = $HOME.'/.vim/.cache/ctrlp' | |
let g:ctrlp_match_window_reversed = 1 | |
let g:ctrlp_clear_cache_on_exit=0 | |
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' | |
" } | |
" Unite { | |
call unite#filters#matcher_default#use(['matcher_fuzzy']) | |
call unite#filters#sorter_default#use(['sorter_rank']) | |
call unite#custom#profile('files', 'filters', ['sorter_rank']) | |
"call unite#custom#source('file_rec/async','ignore_pattern', '.config') | |
" replacing unite with ctrl-p | |
let g:unite_data_directory='~/.vim/.cache/unite' | |
let g:unite_enable_start_insert=1 | |
let g:unite_source_history_yank_enable=1 | |
let g:unite_prompt='» ' | |
let g:unite_split_rule = 'botright' | |
"call unite#custom#source( | |
"\ 'file_mru', 'matchers', | |
"\ ['matcher_project_files', 'matcher_fuzzy']) | |
let g:unite_cursor_line_highlight = 'UniteLineHi' | |
"let g:unite_no_default_keymappings = 1 | |
if executable('ag') | |
let g:unite_source_grep_command='ag' | |
let g:unite_source_grep_default_opts='--nocolor --nogroup -S -C4' | |
let g:unite_source_grep_recursive_opt='' | |
endif | |
" } | |
" Syntastic { | |
let g:syntastic_php_checkers = ['php', 'phpmd'] | |
let g:syntastic_enable_signs = 1 | |
" configure syntastic syntax checking to check on open as well as save | |
let g:syntastic_check_on_open=1 | |
let g:syntastic_echo_current_error=1 | |
let g:syntastic_auto_jump=2 | |
let g:syntastic_auto_loc_list=1 | |
let g:syntastic_auto_loc_height=3 | |
" } | |
" Indentguide { | |
let g:indent_guides_enable_on_vim_startup = 1 | |
let g:indent_guides_indent_levels = 30 | |
let g:indent_guides_auto_colors = 0 | |
let g:indent_guides_start_level = 2 | |
let g:indent_guides_guide_size = 1 | |
let g:indent_guides_space_guides = 1 | |
set ts=4 " number of spaces in a tab | |
set sw=4 " number of spaces for indent | |
set et " expand tabs into spaces | |
let g:indent_guides_auto_colors = 1 | |
if $COLORTERM == 'gnome-terminal' | |
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=red ctermbg=3 | |
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4 | |
endif | |
" } | |
" neocomplete { | |
let g:neocomplete#enable_at_startup = 1 | |
let g:neocomplete#enable_fuzzy_completion = 1 | |
let g:neocomplete_enable_fuzzy_completion_start_length = 2 | |
let g:neocomplete_enable_camel_case_completion = 0 | |
let g:neocomplete#enable_smart_case = 1 | |
let g:neocomplete#enable_auto_delimiter = 1 | |
let g:neocomplete#max_list = 10 | |
let g:neocomplete#force_overwrite_completefunc = 1 | |
let g:neocomplete#enable_auto_select = 0 | |
"let g:neocomplete#use_vimproc = 1 | |
" Define dictionary. | |
"let g:neocomplete#sources#dictionary#dictionaries = { | |
"\ 'default' : '', | |
"\ 'vimshell' : $HOME.'/.vimshell_hist', | |
"\ 'scheme' : $HOME.'/.gosh_completions' | |
"\ } | |
" Define keyword. | |
let g:neocomplete#keyword_patterns = {} | |
let g:neocomplete#keyword_patterns._ = '\h\w*' | |
" Plugin key-mappings { | |
function! CleverCr() | |
if pumvisible() | |
if neosnippet#expandable() | |
let exp = "\<Plug>(neosnippet_expand)" | |
return exp . neocomplete#close_popup() | |
else | |
return neocomplete#close_popup() | |
endif | |
else | |
return "\<CR>" | |
endif | |
endfunction | |
" <CR> close popup and save indent or expand snippet | |
imap <expr> <CR> CleverCr() | |
" <C-h>, <BS>: " close popup and delete backword char. | |
inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>" | |
" <TAB>: completion. | |
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" | |
" } | |
" Enable omni completion. | |
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete | |
autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc | |
" Enable heavy omni completion. | |
if !exists('g:neocomplete#sources#omni#input_patterns') | |
let g:neocomplete#sources#omni#input_patterns = {} | |
endif | |
let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' | |
let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' | |
let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' | |
let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' | |
let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\h\w*\|\h\w*::' | |
" } | |
" Normal Vim omni-completion { | |
" Enable omni-completion. | |
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS | |
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete | |
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags | |
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete | |
autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc | |
" } | |
" Snippets { | |
" Use honza's snippets. | |
let g:neosnippet#snippets_directory='~/.vim/neosnippets' | |
" Enable neosnippet snipmate compatibility mode | |
let g:neosnippet#enable_snipmate_compatibility = 1 | |
" For snippet_complete marker. | |
if has('conceal') | |
set conceallevel=2 concealcursor=i | |
endif | |
" Enable neosnippets when using go | |
let g:go_snippet_engine = "neosnippet" | |
" Disable the neosnippet preview candidate window | |
" When enabled, there can be too much visual noise | |
" especially when splits are used. | |
set completeopt-=preview | |
" } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment