bash hooks + vim clean up

This commit is contained in:
2026-05-06 11:14:48 +02:00
parent e57f0d73a7
commit 478053d6be
12 changed files with 64 additions and 66 deletions
+39 -50
View File
@@ -1,4 +1,4 @@
""" VIM config file | Jan Andrle | 2026-03-05 (VIM >=9.2 AppImage)
""" VIM config file | Jan Andrle | 2026-05-05 (VIM >=9.2 AppImage)
"" #region B Base
scriptencoding utf-8 | set encoding=utf-8
set pythonthreedll=/lib/x86_64-linux-gnu/libpython3.12.so.1.0
@@ -12,15 +12,9 @@
packadd! cfilter
let g:ft_man_folding_enable = 1
runtime! ftplugin/man.vim
" set hidden
execute 'source' fnameescape(s:root . '/rc-cat.vim')
cabbrev <expr> %PWD% execute('pwd')
cabbrev <expr> %CD% fnameescape(expand('%:p:h'))
cabbrev <expr> %CS% mini_enhancement#selectedText()
cabbrev <expr> %CW% echo '<c-r><c-w>'
let mapleader = "\\"
" better for my keyboard, but maybe use `:help keymap`?
nnoremap § @
@@ -29,22 +23,27 @@
nnoremap ; :
nnoremap <leader>u U
nnoremap U <c-r>
nnoremap ž <c-]>
nnoremap <c-up> <c-y>
nnoremap <c-down> <c-e>
" <c-bs>
imap  <c-w>
cmap  <c-w>
" use tab/s-tab for tabnex/tabNext
nnoremap <silent><tab> :tabnext<cr>
nnoremap <silent><s-tab> :tabprevious<cr>
nnoremap <silent>]t :tabnext<cr>
nnoremap <silent>[t :tabprevious<cr>
nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj'
nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk'
" history checkpoints
for key in ['<C-u>', '<C-w>', '<CR>', '.']
execute printf('inoremap %s <C-g>u%s', key, key)
endfor
set diffopt+=algorithm:patience,inline:word,linematch:60
augroup vimrc_help
autocmd!
autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | vertical resize 90 | endif
augroup END
if has('langmap') && exists('+langremap') && &langremap
set nolangremap
endif
""" #region BB Build-in plugins
" https://github.com/rbtnn/vim-gloaded/blob/master/plugin/gloaded.vim
let g:loaded_vimballPlugin = 1 " :h pi_vimball … for plugin creators
@@ -52,9 +51,6 @@
""" #endregion BB
"" #endregion B
"" #region H Helpers
command! -nargs=0
\ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft
let g:quickfix_len= 0
function! QuickFixStatus() abort
hi! link User1 StatusLine
@@ -81,7 +77,7 @@
cabbrev wbw w<bar>bw
set sessionoptions-=options
set sessionoptions-=options " causes more problems than it solves
function! NumberOfBuffers()
return len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
@@ -90,23 +86,26 @@
set statusline+=··≡·%{QuickFixStatus()}%*··»·%{user_tips#current()}%*··%=
set statusline+=(%{NumberOfBuffers()})··%<%f%R\%M··▶·%{&fileformat}·%{&fileencoding?&fileencoding:&encoding}·%{&filetype}
set statusline+=··
" set statusline+=··∷·%{mini_sessions#name('')}·· 
set history=500 " How many lines of (cmd) history has to remember
set nobackup nowritebackup noswapfile " …there is issue #649 (for servers) and Im using git/system backups
set history=500 " How many lines of (cmd) history has to remember
set nobackup nowritebackup noswapfile " …there is issue #649 (for servers) and Im using git/system backups
try
execute 'set undodir=' . fnameescape(s:root . '/undodir') . ' undofile' | catch | endtry
command! HELPundoClear echo 'undolevel='.&undolevels
"" #endregion SLH
"" #region LLW Left Column + Line + Wrap + Scrolling
set signcolumn=yes
set cursorline cursorcolumn " Always show current position
set number foldcolumn=2 " enable line numbers and add a bit extra margin to the left
set cursorline cursorcolumn " Always show current position
set number foldcolumn=2 " enable line numbers and add a bit extra margin to the left
set textwidth=120 colorcolumn=81,+1
command! HELPtextwidth echo "textwidth=".&textwidth." colorcolumn=".&colorcolumn
set nowrap " Don't wrap long lines by default
set nowrap " Don't wrap long lines by default
set breakindent breakindentopt=shift:2 showbreak=
set scrolloff=5 sidescrolloff=10 " offset for lines/columns when scrolling
set scrolloff=5 sidescrolloff=10 sidescroll=1 " offset for lines/columns when scrolling
set display+=lastline
if has('patch-7.4.2109')
set display+=truncate
endif
"" #endregion LLW
"" #region CN Clipboard + Navigation throught Buffers + Windows + … (CtrlP)
set pastetoggle=<F2> | nnoremap <F2> :set invpaste paste?<CR>
@@ -128,12 +127,8 @@
endfunction
nnoremap <silent> <leader>" :call JaaCopyRegister()<cr>
" CtrlP previously
nmap <expr> š buffer_number("#")==-1 ? ":CocList --normal buffers\<cr>" : "\<c-^>"
nmap ě :CocList
nmap <leader>3 :buffers<cr>:b<space>
nmap <leader>š :CocList buffers<cr> | :syntax on<cr>
nmap č <leader>š
nmap ž :CocList buffers<cr> | :syntax on<cr>
nmap <leader>ž :buffers<cr>:buffer
"" #endregion CN
"" #region FOS File(s) + Openning + Saving
set autowrite autoread | autocmd FocusGained,BufEnter *.* checktime
@@ -176,10 +171,10 @@
command! Explore call Explore()
nmap <silent> <leader>e :Explore<cr>
nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand('<cfile>'), '?', '\\?', ''), 1)."'" \| redraw!<cr>
vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw!<cr>
vnoremap gx :silent exec "!xdg-open '".shellescape(substitute('<c-r>*', '?', '\\?', ''), 1)."'" \| redraw!<cr>
"" #endregion FOS
"" #region EN Editor navigation + search
set grepprg=LC_ALL=C\ grep\ -HRIns
set grepprg=LC_ALL=C\ grep\ -HRIns\ $*\ /dev/null
set hlsearch incsearch " highlight search, start when typing
if maparg('<C-L>', 'n') ==# ''
nnoremap <silent> <c-l> :nohlsearch<c-r>=has('diff')?'<bar>diffupdate':''<cr><cr><c-l> | endif " TODO? <bar>syntax sync fromstart
@@ -189,6 +184,15 @@
nmap <Leader>m <Plug>ToggleMarkbar
"" #endregion EN
"" #region EA Editing adjustment + Syntax + White chars + Folds
" Correctly highlight $() and other modern affordances in filetype=sh.
if !exists('g:is_posix') && !exists('g:is_bash') && !exists('g:is_kornshell') && !exists('g:is_dash')
let g:is_posix = 1
endif
nnoremap Y y$
for pair in ['<>', '()', '{}', '[]', '""', "''", '``']
execute printf('inoremap %s <C-g>u%s<Left>', pair, pair)
execute printf('cnoremap %s %s<Left>', pair, pair)
endfor
" surround `:echo char2nr(…)`
let g:surround_8222= "„\r”"
let g:surround_8218= "\r"
@@ -264,7 +268,6 @@
" EDIT HEPERS
nnoremap <leader>o o<space><bs><esc>
nnoremap <leader>O O<space><bs><esc>
nnoremap <s-k> a<cr><esc>
for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ]
execute m.'map <leader>'.l.' "+'.l | endfor | endfor " no noremap ⇐ https://github.com/jasonccox/vim-wayland-clipboard?tab=readme-ov-file#non-recursive-mappings
command HELPfold echo 'foldmethod='.&foldmethod.' foldlevel='.&foldlevel.' foldnestmax='.&foldnestmax
@@ -298,17 +301,6 @@ imap <f3>! <Cmd>call codeium#Complete()<CR>
\ "settings": {}
\ })
autocmd FileType scss setl iskeyword+=@-@
function! CustomKeyWord(word)
if(a:word=="gulp_place")
highlight link gulp_place ErrorMsg
syntax match gulp_place "gulp_place"
augroup gulp_place
autocmd!
autocmd BufEnter *.{js,html} syntax match gulp_place "gulp_place"
augroup END
return 0
endif
endfunction
set completeopt=menuone,longest,preview "longest vs ,noinsert,noselect
inoremap <silent><expr> <F1> coc#pum#visible() ? coc#pum#confirm() : coc#refresh()
@@ -332,10 +324,10 @@ imap <f3>! <Cmd>call codeium#Complete()<CR>
\ : []
endfunction
" navigate diagnostics, use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nnoremap <silent> gh :call <sid>show_documentation(expand("<cword>"))<cr>
vnoremap <silent> gh :<c-u>call <sid>show_documentation(mini_enhancement#selectedText())<cr>
nnoremap <silent> K :call <sid>show_documentation(expand("<cword>"))<cr>
vnoremap <silent> K :<c-u>call <sid>show_documentation('<c-r>*"')<cr>
nnoremap <leader>gf :CocList --normal --input='<c-r>=expand("<cword>")<cr>' g
vnoremap <leader>gf :<c-u>CocList --normal --input='<c-r>=mini_enhancement#selectedText()<cr>' g
vnoremap <leader>gf :<c-u>CocList --normal --input='<c-r>*' g
""" #region COCP Coc popups scroll (Remap <C-f> and <C-b> for scroll float windows/popups.)
if has('nvim-0.4.0') || has('patch-8.2.0750')
nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
@@ -364,9 +356,6 @@ imap <f3>! <Cmd>call codeium#Complete()<CR>
command! CLhelpCocAction call feedkeys(':<c-u>help CocAction('' ', 'tn')
command! CLrepeatLastChange call feedkeys('/\V<C-r>"<CR>cgn<C-a><Esc>', 'tn')
command! -nargs=?
\ CLcheat call cheat_copilot#open(<q-args>==''?&filetype:<q-args>)
function! s:show_documentation(word)
if (!CocAction('hasProvider', 'hover'))
if &filetype=='man' | call dist#man#PreGetPage(0) | return 0 | endif