more settings and natively support go
This commit is contained in:
parent
6a75a4dae0
commit
0190dad747
@ -1,3 +1,18 @@
|
||||
" The tree buffer makes it easy to drill down through the directories of your
|
||||
" git repository, but it’s not obvious how you could go up a level to the
|
||||
" parent directory. Here’s a mapping of .. to the above command, but
|
||||
" only for buffers containing a git blob or tree
|
||||
autocmd User fugitive
|
||||
\ if fugitive#buffer().type() =~# '^\%(tree\|blob\)$' |
|
||||
\ nnoremap <buffer> .. :edit %:h<CR> |
|
||||
\ endif
|
||||
|
||||
" Every time you open a git object using fugitive it creates a new buffer.
|
||||
" This means that your buffer listing can quickly become swamped with
|
||||
" fugitive buffers. This prevents this from becomming an issue:
|
||||
|
||||
autocmd BufReadPost fugitive://* set bufhidden=delete
|
||||
|
||||
" fugitive.git
|
||||
" ========================================
|
||||
" For fugitive.git, dp means :diffput. Define dg to mean :diffget
|
||||
|
56
vim/settings/go.vim
Normal file
56
vim/settings/go.vim
Normal file
@ -0,0 +1,56 @@
|
||||
let g:go_fmt_fail_silently = 1
|
||||
let g:go_fmt_command = "gofmt" "Explicited the formater plugin (gofmt, goimports, goreturn...)
|
||||
|
||||
" Show a list of interfaces which is implemented by the type under your cursor
|
||||
au FileType go nmap <Leader>s <Plug>(go-implements)
|
||||
|
||||
" Show type info for the word under your cursor
|
||||
au FileType go nmap <Leader>i <Plug>(go-info)
|
||||
|
||||
" Open the relevant Godoc for the word under the cursor
|
||||
au FileType go nmap <Leader>gd <Plug>(go-doc)
|
||||
au FileType go nmap <Leader>gv <Plug>(go-doc-vertical)
|
||||
|
||||
" Open the Godoc in browser
|
||||
au FileType go nmap <Leader>gb <Plug>(go-doc-browser)
|
||||
|
||||
" Run/build/test/coverage
|
||||
au FileType go nmap <leader>r <Plug>(go-run)
|
||||
au FileType go nmap <leader>b <Plug>(go-build)
|
||||
au FileType go nmap <leader>t <Plug>(go-test)
|
||||
au FileType go nmap <leader>c <Plug>(go-coverage)
|
||||
|
||||
" By default syntax-highlighting for Functions, Methods and Structs is disabled.
|
||||
" Let's enable them!
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_methods = 1
|
||||
let g:go_highlight_structs = 1
|
||||
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
let g:tagbar_type_go = {
|
||||
\ 'ctagstype' : 'go',
|
||||
\ 'kinds' : [
|
||||
\ 'p:package',
|
||||
\ 'i:imports:1',
|
||||
\ 'c:constants',
|
||||
\ 'v:variables',
|
||||
\ 't:types',
|
||||
\ 'n:interfaces',
|
||||
\ 'w:fields',
|
||||
\ 'e:embedded',
|
||||
\ 'm:methods',
|
||||
\ 'r:constructor',
|
||||
\ 'f:functions'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 't' : 'ctype',
|
||||
\ 'n' : 'ntype'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'ctype' : 't',
|
||||
\ 'ntype' : 'n'
|
||||
\ },
|
||||
\ 'ctagsbin' : 'gotags',
|
||||
\ 'ctagsargs' : '-sort -silent'
|
||||
\ }
|
@ -1,18 +1,20 @@
|
||||
" Disable AutoComplPop.
|
||||
let g:acp_enableAtStartup = 0
|
||||
" Use neocomplete.
|
||||
let g:neocomplete#enable_at_startup = 1
|
||||
let g:acp_enableAtStartup = 0 " Disable AutoComplPop.
|
||||
let g:neocomplete#enable_at_startup = 1 " Use neocomplete.
|
||||
let g:neocomplete#enable_camel_case = 1
|
||||
let g:neocomplete#enable_smart_case = 1
|
||||
|
||||
" Default # of completions is 100, that's crazy.
|
||||
let g:neocomplete#max_list = 5
|
||||
|
||||
" Set minimum syntax keyword length.
|
||||
let g:neocomplete#auto_completion_start_length = 3
|
||||
let g:neocomplete#auto_completion_start_length = 3 " Set minimum syntax keyword length.
|
||||
let g:neocomplete#lock_buffer_name_pattern = '\*ku\*'
|
||||
|
||||
let g:neocomplete#enable_auto_select = 1 " AutoComplPop like behavior.
|
||||
|
||||
" Map standard Ctrl-N completion to Ctrl-Space
|
||||
inoremap <C-Space> <C-n>
|
||||
" Plugin key-mappings.
|
||||
inoremap <expr><C-g> neocomplete#undo_completion()
|
||||
|
||||
" This makes sure we use neocomplete completefunc instead of
|
||||
" the one in rails.vim, otherwise this plugin will crap out.
|
||||
@ -24,6 +26,20 @@ if !exists('g:neocomplete#keyword_patterns')
|
||||
endif
|
||||
let g:neocomplete#keyword_patterns['default'] = '\h\w*'
|
||||
|
||||
" Enable heavy omni completion.
|
||||
"if !exists('g:neocomplete#sources#omni#input_patterns')
|
||||
" let g:neocomplete#sources#omni#input_patterns = {}
|
||||
"endif
|
||||
"let g:neocomplete#force_omni_input_patterns.go = '[^.[:digit:] *\t]\.'
|
||||
if !exists('g:neocomplete#force_omni_input_patterns')
|
||||
let g:neocomplete#force_omni_input_patterns = {}
|
||||
endif
|
||||
let g:neocomplete#force_omni_input_patterns.go = '[^.[:digit:] *\t]\.'
|
||||
|
||||
"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\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*::'
|
||||
|
||||
" Enable omni completion.
|
||||
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
|
||||
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
@ -31,3 +47,20 @@ 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
|
||||
|
||||
" Recommended key-mappings.
|
||||
" <CR>: close popup and save indent.
|
||||
imap <expr><silent> <CR> <SID>my_cr_function()
|
||||
function! s:my_cr_function()
|
||||
return pumvisible() ? neocomplcache#close_popup() . "\<CR>" : "\<CR>"
|
||||
endfunction
|
||||
|
||||
" <TAB>: completion.
|
||||
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
||||
" <C-h>, <BS>: close popup and delete backword char.
|
||||
inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"
|
||||
inoremap <expr><BS> neocomplete#smart_close_popup()."\<C-h>"
|
||||
inoremap <expr><C-y> neocomplete#close_popup()
|
||||
inoremap <expr><C-e> neocomplete#cancel_popup()
|
||||
" Close popup by <Space>.
|
||||
"inoremap <expr><Space> pumvisible() ? neocomplete#close_popup() : "\<Space>"
|
||||
|
@ -1,11 +1,11 @@
|
||||
"mark syntax errors with :signs
|
||||
let g:syntastic_enable_signs=1
|
||||
"automatically jump to the error when saving the file
|
||||
let g:syntastic_auto_jump=0
|
||||
"show the error list automatically
|
||||
let g:syntastic_auto_loc_list=1
|
||||
"don't care about warnings
|
||||
let g:syntastic_quiet_messages = {'level': 'warnings'}
|
||||
let g:syntastic_enable_signs=1 "mark syntax errors with :signs
|
||||
let g:syntastic_auto_jump=0 "automatically jump to the error when saving the file
|
||||
let g:syntastic_auto_loc_list=1 "show the error list automatically
|
||||
let g:syntastic_always_populate_loc_list = 0
|
||||
let g:syntastic_quiet_messages = {'level': 'warnings'} "don't care about warnings
|
||||
let g:syntastic_aggregate_errors = 1
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 0
|
||||
|
||||
" Default to eslint. If you need jshint, you can override this in
|
||||
" ~/.vimrc.after
|
||||
@ -15,6 +15,10 @@ let g:syntastic_python_flake8_args='--ignore=F401,F403,F405,W0401,E501'
|
||||
let g:syntastic_python_pylint_post_args="--max-line-length=160"
|
||||
|
||||
|
||||
set statusline+=%#warningmsg#
|
||||
set statusline+=%{SyntasticStatuslineFlag()}
|
||||
set statusline+=%*
|
||||
|
||||
" I have no idea why this is not working, as it used to
|
||||
" be a part of syntastic code but was apparently removed
|
||||
" This will make syntastic find the correct ruby specified by mri
|
||||
|
@ -1,15 +0,0 @@
|
||||
" The tree buffer makes it easy to drill down through the directories of your
|
||||
" git repository, but it’s not obvious how you could go up a level to the
|
||||
" parent directory. Here’s a mapping of .. to the above command, but
|
||||
" only for buffers containing a git blob or tree
|
||||
autocmd User fugitive
|
||||
\ if fugitive#buffer().type() =~# '^\%(tree\|blob\)$' |
|
||||
\ nnoremap <buffer> .. :edit %:h<CR> |
|
||||
\ endif
|
||||
|
||||
" Every time you open a git object using fugitive it creates a new buffer.
|
||||
" This means that your buffer listing can quickly become swamped with
|
||||
" fugitive buffers. This prevents this from becomming an issue:
|
||||
|
||||
autocmd BufReadPost fugitive://* set bufhidden=delete
|
||||
|
@ -252,6 +252,5 @@ alias top_by_memory="top -o %MEM"
|
||||
alias gcaa="gia .; gcF"
|
||||
alias ror_ctags="ctags -R --languages=ruby --exclude=.git --exclude=log . \$(bundle list --paths)"
|
||||
alias docker_clean_images='docker rmi $(docker images -a --filter=dangling=true -q)'
|
||||
alias vimgo='vim -u ~/.vimrc.go'
|
||||
alias find_large_files="sudo find / -xdev -type f -size +50M"
|
||||
alias start_polipo='polipo socksParentProxy=localhost:1080'
|
||||
|
Loading…
Reference in New Issue
Block a user