From 63cfb9a8f5a0c9f1b9c433a0a535be309b268ea5 Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Mon, 15 Jul 2024 12:25:11 -0500 Subject: vim: updates --- vim/pack/downloads/opt/snippets/snippets.vim | 16 ++++-- vimrc | 74 ++++++++++++++++------------ 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/vim/pack/downloads/opt/snippets/snippets.vim b/vim/pack/downloads/opt/snippets/snippets.vim index d4c6e4e..92f0af7 100644 --- a/vim/pack/downloads/opt/snippets/snippets.vim +++ b/vim/pack/downloads/opt/snippets/snippets.vim @@ -1,14 +1,24 @@ autocmd FileType go - \ :iabbrev err@ if err != nil {} + \ :iabbrev err@ if err != nil {} autocmd FileType go - \ :iabbrev hand@ ^ifunc A(c *gin.Context) { + \ :iabbrev h@ ^ifunc A(c *gin.Context) {} + +autocmd FileType go + \ :iabbrev t@ ^ifunc A(t *testing.T) {} + +autocmd FileType go + \ :iabbrev f@ ^ifunc A() {}f(li autocmd FileType go \ :iabbrev fat@ log.Fatal(" %v", err)F%i -:autocmd FileType php,html.twig,html,javascript,typescript,vue,go +:autocmd FileType go + \ :iabbrev if@ if {}%i + + +:autocmd FileType php,html.twig,html,javascript,typescript,vue \ :iabbrev if@ if() {}%i diff --git a/vimrc b/vimrc index 0431ea6..a4a83fc 100644 --- a/vimrc +++ b/vimrc @@ -2,6 +2,8 @@ packadd snippets " General set ignorecase +set backspace=indent,eol,start + " Indentation set tabstop=8 @@ -9,27 +11,25 @@ set shiftround set nobackup set autoindent set smartindent -set cindent -set backspace=2 +set nu + +" Search +set incsearch +set matchpairs+=<:> " Theme syntax on set background=light -set rnu set termguicolors colorscheme quiet -set incsearch -set matchpairs+=<:> -set t_Co=256 -hi Normal guifg=black guibg=#FEFFFA -"hi Keyword ctermfg=black cterm=bold -set tgc -hi SpellBad term=reverse cterm=underline ctermfg=124 ctermbg=white -hi SpellCap term=reverse cterm=underline ctermfg=25 ctermbg=white -hi SpellRare term=reverse cterm=underline ctermfg=30 ctermbg=white -hi SpellLocal term=reverse cterm=underline ctermfg=90 ctermbg=white - -" Cursor - switch between line and full +hi Normal guifg=black guibg=#FFFFEA +""hi Keyword ctermfg=black cterm=bold +hi SpellBad term=reverse term=underline guibg=#FFFFEA +hi SpellCap term=reverse term=underline guibg=#FFFFEA +hi SpellRare term=reverse term=underline guibg=#FFFFEA +hi SpellLocal term=reverse term=underline guibg=#FFFFEA + +"" Cursor - switch between line and full when going to insert mode let &t_SI = "\[6 q" let &t_SR = "\[4 q" let &t_EI = "\[2 q" @@ -52,7 +52,7 @@ packadd lsp if exists('g:loaded_lsp') call LspOptionsSet(#{ \ aleSupport: v:false, - \ autoComplete: v:false, + \ autoComplete: v:true, \ autoHighlight: v:false, \ autoHighlightDiags: v:true, \ autoPopulateDiags: v:true, @@ -97,13 +97,6 @@ if exists('g:loaded_lsp') \ }) end -" Yaml -autocmd Filetype yaml setlocal tabstop=2 -autocmd Filetype yaml setlocal shiftwidth=2 -autocmd Filetype yaml setlocal expandtab -autocmd Filetype yaml setlocal smarttab - - " Ocaml if exists('g:loaded_lsp') call LspAddServer([#{ @@ -114,11 +107,9 @@ if exists('g:loaded_lsp') \ syncInit: v:true \ }]) end -autocmd Filetype ocaml autocmd BufWritePre :LspFormat +"autocmd Filetype ocaml autocmd BufWritePre :LspFormat autocmd Filetype ocaml setlocal tabstop=2 autocmd Filetype ocaml setlocal shiftwidth=2 -autocmd Filetype ocaml setlocal expandtab -autocmd Filetype ocaml setlocal smarttab " Go if exists('g:loaded_lsp') @@ -131,12 +122,15 @@ if exists('g:loaded_lsp') \ }]) end +filetype plugin on autocmd Filetype go set makeprg=go\ build "autocmd Filetype go autocmd BufWritePre :LspFormat +" Auto test directory with t +autocmd Filetype go nnoremap t :!go test %:h/*.go au BufRead,BufNewFile *.tmpl set filetype=gohtml autocmd Filetype gohtml setlocal tabstop=2 -" autocmd Filetype gohtml setlocal formatprg=djlint\ --profile=golang\ --reformat\ - + " Nix if exists('g:loaded_lsp') @@ -148,7 +142,7 @@ if exists('g:loaded_lsp') \ syncInit: v:true \ }]) end -"autocmd Filetype nix autocmd BufWritePre :LspFormat +autocmd Filetype nix autocmd BufWritePre :LspFormat " Markdown if exists('g:loaded_lsp') @@ -168,10 +162,12 @@ autocmd Filetype markdown setlocal spell " Keybindings let mapleader=" " noremap , : -noremap e :e **/ +noremap e :e! **/* noremap gd mB:LspGotoDefinition noremap ]d :LspDiagNext noremap [d :LspDiagPrev +noremap ]c :cnext +noremap [c :cprev noremap gs mB:LspDocumentSymbol noremap gr mB:LspGotoImpl noremap ca :LspCodeAction @@ -181,16 +177,32 @@ noremap k :LspDiagCurrent noremap K :LspHover nnoremap l :ls:b nnoremap = :LspFormat +"" Tab completion +inoremap pumvisible() ? "\" : "\" +inoremap pumvisible() ? "\" : "\" + " Spell au BufEnter *.org set spell " Wildmenu set wildmenu -set wildmode=longest:full,lastused set wildignore=_build/**,release/**,node_modules/** -set wildoptions+=fuzzy +set wildoptions=fuzzy " Grep set grepprg=git\ grep\ -nH + +" Auto add marks +augroup VIMRC + autocmd! + autocmd BufLeave *.css,*.scss normal! mC + autocmd BufLeave *.html normal! mH + autocmd BufLeave *.js,*.ts normal! mJ + autocmd BufLeave *.md normal! mM + autocmd BufLeave *.yml,*.yaml normal! mY + autocmd BufLeave *_test.go normal! mT + autocmd BufLeave *{_test}\@