From 4565bf0e5b60fa1ce1db83bd5ca2c93857d542ca Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Tue, 4 Feb 2025 14:24:25 +0100 Subject: vim: improve quickfix --- .vimrc | 54 +++++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 25 deletions(-) (limited to '.vimrc') diff --git a/.vimrc b/.vimrc index e5eabe5..84ff574 100644 --- a/.vimrc +++ b/.vimrc @@ -10,6 +10,7 @@ filetype on filetype plugin on filetype plugin indent on let mapleader = "," +set autochdir " Save all files at the same place set backupdir=~/.vim/backup// @@ -18,7 +19,6 @@ set undodir=~/.vim/backup// set undofile set backup -" set autochdir " ignore case when searching, except mixing upper and lower set ignorecase @@ -52,6 +52,11 @@ autocmd filetype vimki nmap z :FZF ~/Wiki autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 +autocmd BufNewFile,BufRead *.gno setlocal noexpandtab tabstop=4 shiftwidth=4 +autocmd BufNewFile,BufRead *.gno set filetype=gno + +autocmd Filetype go set mp=go\ build + let g:netrw_browsex_viewer = "xdg-open" let g:netrw_gx = "" let g:netrw_banner = 0 @@ -67,20 +72,9 @@ autocmd filetype python,yaml setlocal ts=2 sts=2 sw=2 et " noremap :!cscope -0 " noremap :!cscope -7 -" Paragraph format / unformat -" An alternate way is to use "gqip" to format. -" noremap f !}fmt -72 -s -p -" noremap F !}fmt -c -w 2048 +" Paragraph format noremap f gqip -" noremap K :s,^,//, -" noremap :s,^//,, -" noremap # :s,^,#, -" noremap @ :s,^#,, -"hi MatchParen term=reverse ctermbg=magenta ctermfg=none -" hi MatchParen cterm=reverse term=reverse ctermfg=white -" - " Fix spell highlighting hi clear SpellBad hi SpellBad cterm=underline @@ -92,21 +86,29 @@ noremap o :!open & noremap :tag noremap :Files +noremap e :cn " go to quickfix next error +noremap E :cp " go to quickfix previous error +noremap m :make " make + +" Quickfix window opens automatically if not empty +autocmd QuickFixCmdPost [^l]* nested cwindow +autocmd QuickFixCmdPost l* nested lwindow + " MacOS: Open QuickLook on current file (for markdown preview mainly) noremap w :!ql % function! CloseOnLast() -let cnt = 0 -for i in range(0, bufnr("$")) -if buflisted(i) - let cnt += 1 + let cnt = 0 + for i in range(0, bufnr("$")) + if buflisted(i) + let cnt += 1 + endif + endfor + if cnt <= 1 + q + else + bd endif -endfor - if cnt <= 1 - q -else - bd -endif endfunction noremap :call CloseOnLast() @@ -115,6 +117,8 @@ noremap :call CloseOnLast() let g:lsp_diagnostics_enabled = 0 let g:lsp_document_code_action_signs_enabled = 0 let g:lsp_document_highlight_enabled = 0 +"let g:lsp_log_verbose = 1 +"let g:lsp_log_file = expand('~/vim-lsp.log') if executable('gopls') au User lsp_setup call lsp#register_server({ @@ -130,8 +134,8 @@ endif if executable('gnopls') au User lsp_setup call lsp#register_server({ \ 'name': 'gnopls', - \ 'cmd': {server_info->['gnopls', '-remote=auto']}, - \ 'allowlist': ['gno', 'gnomod'], + \ 'cmd': {server_info->['gnopls']}, + \ 'allowlist': ['gno'], \ }) autocmd BufWritePre *.gno \ call execute('LspDocumentFormatSync') | -- cgit v1.2.3