chore(config): vim: split config, tweaks

Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
This commit is contained in:
2025-03-24 15:47:32 +02:00
parent a6400943d2
commit 3e4391adda
11 changed files with 438 additions and 387 deletions

View File

@@ -0,0 +1,64 @@
" go
" vim-go
" run :GoBuild or :GoTestCompile based on the go file
function! s:build_go_files()
let l:file = expand('%')
if l:file =~# '^\f\+_test\.go$'
call go#test#Test(0, 1)
elseif l:file =~# '^\f\+\.go$'
call go#cmd#Build(0)
endif
endfunction
let g:go_list_type = "quickfix"
let g:go_fmt_command = "goimports"
let g:go_fmt_fail_silently = 1
let g:go_highlight_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_operators = 1
let g:go_highlight_build_constraints = 1
let g:go_highlight_structs = 1
let g:go_highlight_generate_tags = 1
let g:go_highlight_space_tab_error = 0
let g:go_highlight_array_whitespace_error = 0
let g:go_highlight_trailing_whitespace_error = 0
let g:go_highlight_extra_types = 1
autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=4
augroup completion_preview_close
autocmd!
if v:version > 703 || v:version == 703 && has('patch598')
autocmd CompleteDone * if !&previewwindow && &completeopt =~ 'preview' | silent! pclose | endif
endif
augroup END
" for go files
augroup go
au!
au Filetype go command! -bang A call go#alternate#Switch(<bang>0, 'edit')
au Filetype go command! -bang AV call go#alternate#Switch(<bang>0, 'vsplit')
au Filetype go command! -bang AS call go#alternate#Switch(<bang>0, 'split')
au Filetype go command! -bang AT call go#alternate#Switch(<bang>0, 'tabe')
au FileType go nmap <Leader>dd <Plug>(go-def-vertical)
au FileType go nmap <Leader>dv <Plug>(go-doc-vertical)
au FileType go nmap <Leader>db <Plug>(go-doc-browser)
au FileType go nmap <leader>r <Plug>(go-run)
au FileType go nmap <leader>t <Plug>(go-test)
au FileType go nmap <Leader>gt <Plug>(go-coverage-toggle)
au FileType go nmap <Leader>i <Plug>(go-info)
au FileType go nmap <silent> <Leader>l <Plug>(go-metalinter)
au FileType go nmap <C-g> :GoDecls<cr>
au FileType go nmap <leader>dr :GoDeclsDir<cr>
au FileType go imap <C-g> <esc>:<C-u>GoDecls<cr>
au FileType go imap <leader>dr <esc>:<C-u>GoDeclsDir<cr>
au FileType go nmap <leader>rb :<C-u>call <SID>build_go_files()<CR>
augroup END
"" ale
:call extend(g:ale_linters, {"go": [ 'golint', 'go vet' ]})

View File

@@ -0,0 +1,3 @@
" html
" for html files, 2 spaces
autocmd Filetype html setlocal ts=2 sw=2 expandtab

View File

@@ -0,0 +1,45 @@
" php
" Phpactor plugin
" Include use statement
nmap <Leader>u :call phpactor#UseAdd()<CR>
" Invoke the context menu
nmap <Leader>mm :call phpactor#ContextMenu()<CR>
" Invoke the navigation menu
nmap <Leader>nn :call phpactor#Navigate()<CR>
" Goto definition of class or class member under the cursor
nmap <Leader>oo :call phpactor#GotoDefinition()<CR>
nmap <Leader>oh :call phpactor#GotoDefinition('hsplit')<CR>
nmap <Leader>ov :call phpactor#GotoDefinition('vsplit')<CR>
nmap <Leader>ot :call phpactor#GotoDefinition('tabnew')<CR>
" Show brief information about the symbol under the cursor
nmap <Leader>K :call phpactor#Hover()<CR>
" Transform the classes in the current file
nmap <Leader>tt :call phpactor#Transform()<CR>
" Generate a new class (replacing the current file)
nmap <Leader>cc :call phpactor#ClassNew()<CR>
" Extract expression (normal mode)
nmap <silent><Leader>ee :call phpactor#ExtractExpression(v:false)<CR>
" Extract expression from selection
vmap <silent><Leader>ee :<C-U>call phpactor#ExtractExpression(v:true)<CR>
" Extract method from selection
vmap <silent><Leader>em :<C-U>call phpactor#ExtractMethod()<CR>
au FileType php,blade let b:coc_root_patterns = [
\ '.git', '.env', 'composer.json', 'artisan'
\]
au FileType php,blade nmap <silent> ga <Plug>(coc-codeaction-line)
au FileType php,blade nmap <silent> <leader>ac <Plug>(coc-codeaction-cursor)
au FileType php,blade nmap <silent> gd <Plug>(coc-definition)
au FileType php,blade nmap <silent> gy <Plug>(coc-type-definition)
au FileType php,blade nmap <silent> gi <Plug>(coc-implementation)
au FileType php,blade nmap <silent> gr <Plug>(coc-references)
au FileType php,blade nmap <silent> K <Plug>(coc-hover)
au FileType php,blade nmap <silent> <leader>rn <Plug>(coc-rename)
au FileType php,blade nmap <silent> <leader>f <Plug>(coc-format)
au FileType php,blade nmap <silent> <leader>qf <Plug>(coc-fix-current)
au FileType php,blade nmap <silent> <leader>qo <Plug>(coc-fix-all)
au FileType php,blade nmap <silent> <leader>do <Plug>(coc-diagnostic-prev)
au FileType php,blade nmap <silent> <leader>dn <Plug>(coc-diagnostic-next)
au FileType php,blade nmap <silent> <leader>ca <Plug>(coc-cursoraction)
au FileType php,blade nmap <silent> <leader>so <Plug>(coc-symbols)
au FileType php,blade nmap <silent> <leader>cs <Plug>(coc-list-symbols)