diff --git a/.bash/.bash_aliases b/.bash/.bash_aliases index 999fe39..692147b 100644 --- a/.bash/.bash_aliases +++ b/.bash/.bash_aliases @@ -160,6 +160,19 @@ alias npx-wca='npx -y web-component-analyzer' alias npx-qnm='npx -y qnm' alias npx-hint='npx -y hint' alias npx-markdown='npx -y markserv' +§interfaces() { + node <<-EOF + var os = require('os'); + var i = os.networkInterfaces(); + Object.keys(i).forEach(function(name) { + i[name].forEach(function(int) { + if (int.family === 'IPv4') { + console.log('%s: %s', name, int.address); + } + }); + }); + EOF +} alias fzf=fzf-carroarmato0.fzf alias smerge='/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=sublime_merge --file-forwarding com.sublimemerge.App @@u %u @@' @@ -167,8 +180,6 @@ kommit(){ command kommit $* > /dev/null 2>&1 & disown; } §url-curl(){ curl --silent -I "$1" | grep -i location; } -alias bathelp='batcat --plain --language=help' - rpg(){ rpg-cli "$@" if ( [[ "$1" == "cd" ]] || [[ "$1" == "ls" ]] ); then diff --git a/.bash/.bash_completions b/.bash/.bash_completions index 49efc29..99fe021 100644 --- a/.bash/.bash_completions +++ b/.bash/.bash_completions @@ -12,6 +12,7 @@ alias C--brew='\. "$BASH_DOTFILES/brew.completion"' alias C--pnpm='\. "$BASH_DOTFILES/pnpm.completion"' alias C--uu='eval "$($HOME/bin/uu --completion-bash)"' alias C--jc='eval "$(jc -B)" … newer version needed' +alias C--gb='source <(gb completion bash) && complete -F __start_git-bug gb' \. <(bs .completion bash) \. "$BASH_DOTFILES/cordova.completion" \. <(node --completion-bash) diff --git a/.bashrc b/.bashrc index 5ad559b..ca89e07 100644 --- a/.bashrc +++ b/.bashrc @@ -24,7 +24,23 @@ bind -m vi-command 'Control-l: clear-screen' bind -m vi-insert 'Control-l: clear-screen' # export MANPAGER="/bin/sh -c \"sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | vim --appimage-extract-and-run --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\"" export MANPAGER="vim --appimage-extract-and-run +MANPAGER --not-a-term -c 'set ts=8 nolist' -" -shopt -s checkwinsize # dynamic columns update after every cmd +export PAGER=/usr/bin/vimpager +alias less=$PAGER +alias cat=/usr/bin/vimcat +vhead() { + if [[ -t 1 && -n $1 ]]; then + command head "$@" | command vimcat + else + command head "$@" + fi +} +vtail() { + if [[ -t 1 && -n $1 ]]; then + command tail "$@" | command vimcat + else + command tail "$@" + fi +} ## History export HISTCONTROL=ignoreboth:erasedups # No duplicate entries and started with spaces. See bash(1) for more options @@ -62,6 +78,7 @@ fi export GPG_TTY=$(tty) shopt -s cdspell # autocorrects cd misspellings +shopt -s dirspell 2>/dev/null || true # bash >= 4 # HSTR configuration - add this to ~/.bashrc # if this is interactive shell, then bind hstr to Ctrl-space diff --git a/.config/TabNine/tabnine_config.json b/.config/TabNine/tabnine_config.json index d8f1457..8c5bb6e 100644 --- a/.config/TabNine/tabnine_config.json +++ b/.config/TabNine/tabnine_config.json @@ -4,7 +4,7 @@ "beta_enabled": "No", "ignore_all_lsp": false, "creation_time": "2022-04-13T07:50:41.488698952Z", - "guuid": null, + "guuid": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb", "semantic_status": {}, "enable_telemetry": true, "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true, @@ -32,12 +32,14 @@ "model_hash_override": null, "local_indexing": null, "heartbeat_interval_seconds": null, - "last_service_level": "FreeCloudRegistered", + "last_service_level": "FreeCloud", "override_beams": null, "override_context_length": null, "onboarding": null, "has_git_repos": null, - "gusr": null, + "gusr": { + "dgc": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb" + }, "exclude_file_masks": null, "inline_suggestions_mode": true, "use_specialized_model_if_available": null, diff --git a/.config/geany/geany.conf b/.config/geany/geany.conf index de73704..175b8a4 100644 --- a/.config/geany/geany.conf +++ b/.config/geany/geany.conf @@ -10,7 +10,7 @@ beep_on_errors=true auto_focus=false sidebar_symbol_visible=true sidebar_openfiles_visible=true -editor_font=Ubuntu Sans Mono Medium 8 +editor_font=BlexMono Nerd Font Mono Medium 8 tagbar_font=Ubuntu Mono 8 msgwin_font=Ubuntu Mono Bold 8 show_notebook_tabs=false @@ -141,6 +141,7 @@ treeview_position=226 msgwindow_position=710 geometry=321;29;1275;1020;0; use_native_dialogs=true +skip_confirmation_for_replace_in_session=false [tools] terminal_cmd=konsole "%c" @@ -156,6 +157,7 @@ print_page_numbers=true print_page_header=true page_header_basename=false page_header_datefmt=%c +print_cmd_common_format=lpr '%d/%f' [VTE] load_vte=true diff --git a/.config/git/config b/.config/git/config index ddadd7b..cc51132 100644 --- a/.config/git/config +++ b/.config/git/config @@ -43,25 +43,21 @@ # my setup [core] editor = vim - pager = delta + pager = PAGER=less delta whitespace = -trailing-space,-space-before-tab compression = 9 # trade cpu for network [alias] - # * replaced by git-extras - # * (alias) aliases = !git config -l | grep ^alias | cut -c 7- | sort # List all aliases. Stolen from here: https://twitter.com/TrevorBramble/status/774292970681937920 - branch-default = !git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@' - # * branches (↓) = for-each-ref --sort=-committerdate refs --format=\"%(authordate:iso8601)\t%(color:blue)%(refname:short)%(HEAD)\t%(if:notequals="")%(upstream:short)%(then)→ %(upstream:short)%(color:reset)%(else)%(color:yellow)%(objectname:short)%(color:reset)\t%(contents:subject)%(end)\" - h-branches = !echo 'brv (git-extras)' - tags = tag -l --sort=-creatordate --format='%(refname:short): [%(creatordate:short)] %(subject)' - # * authors: log-authors = shortlog -ns - h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset' commit--interactive= !clear && git status && git commit --interactive + diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color + notes-json = !git notes | njs -p '$.stdin.lines().map(l=> l.split(\" \")).map(([ id_note, id_commit ])=> ({id_commit, id_note, head: s.$().run`git show ${id_note}`.head().toString().split(\"\\n\")}))' 'o=> JSON.stringify(o, null, \"\t\")' + submodule-update-merge = submodule update --remote --merge + symbolic-ref-defaultBranch = !git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4- + tag-l = tag -l --sort=-creatordate --format='%(refname:short): [%(creatordate:short)] %(subject)' + h-branches = !echo 'brv (git-extras)' + h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset' h-unstage = !echo reset HEAD -- h-undoall = !echo reset --soft HEAD^ - diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color - h-submodule-delete = !echo 'delete-submodule (git-extras)' # * delete-submodule: rm-submodule = !git submodule deinit -f $1 && rm -rf .git/modules/$1 && git rm -rf $1 - submodule-update-merge = submodule update --remote --merge - set-upstream-to-current = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD` + h-submodule-delete = !echo 'delete-submodule (git-extras)' [diff] wsErrorHighlight = all tool = vimdiff @@ -78,6 +74,7 @@ conflictstyle = zdiff3 [delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta) syntax-theme= Visual Studio Dark+ + dark = true navigate = true side-by-side = true line-numbers = true diff --git a/.config/github-releases/config.json b/.config/github-releases/config.json index 89b287b..22d06ea 100644 --- a/.config/github-releases/config.json +++ b/.config/github-releases/config.json @@ -21,8 +21,8 @@ "exec": "yes", "description": "AI Browser", "glare": "AppImage", - "last_update": "2025-04-01T05:57:12Z", - "version": "3.8.0", + "last_update": "2025-06-09T14:57:33Z", + "version": "3.9.0", "downloads": "/home/jaandrle/bin/pinokio" }, { @@ -136,9 +136,9 @@ "group": "nondev", "file_name": "fedistar.appimage", "exec": "yes", - "last_update": "2025-04-08T11:56:38Z", + "last_update": "2025-07-29T14:08:34Z", "downloads": "/home/jaandrle/bin/fedistar.appimage", - "version": "v1.11.3", + "version": "v1.11.8", "glare": ".*amd64.*.AppImage" }, { @@ -148,9 +148,9 @@ "group": "ai", "file_name": "ollama", "exec": "yes", - "last_update": "2025-04-26T09:16:02Z", + "last_update": "2025-08-25T18:04:05Z", "downloads": "/home/jaandrle/bin/ollama", - "version": "v0.6.7-rc1", + "version": "v0.11.7", "glare": "linux-amd64" }, { @@ -173,8 +173,8 @@ "file_name": "vim", "exec": "yes", "downloads": "/home/jaandrle/bin/vim", - "version": "v9.1.1355", - "last_update": "2025-04-30T01:25:38Z", + "version": "v9.1.1696", + "last_update": "2025-08-27T01:22:07Z", "glare": "GVim.*x86_64.*.AppImage" }, { @@ -184,9 +184,9 @@ "group": "dev", "file_name": "escrcpy.appimage", "exec": "yes", - "last_update": "2025-04-27T07:04:58Z", + "last_update": "2025-07-15T10:25:01Z", "downloads": "/home/jaandrle/bin/escrcpy.appimage", - "version": "v1.29.6", + "version": "v1.30.2", "glare": ".*x86_64.*.AppImage" }, { @@ -208,9 +208,9 @@ "group": "ai", "file_name": "jan", "exec": "yes", - "last_update": "2025-03-24T02:02:04Z", + "last_update": "2025-08-14T09:29:09Z", "downloads": "/home/jaandrle/bin/jan", - "version": "v0.5.16", + "version": "v0.6.8", "glare": ".*x86_64.*.AppImage" }, { @@ -250,4 +250,4 @@ "version": "konnektoren-mobile-app-v0.1.4" } ] -} +} \ No newline at end of file diff --git a/.local/share/color-schemes/BreezeTmavéNumix.colors b/.local/share/color-schemes/BreezeTmavéNumix.colors deleted file mode 100644 index 705ebb0..0000000 --- a/.local/share/color-schemes/BreezeTmavéNumix.colors +++ /dev/null @@ -1,147 +0,0 @@ -[ColorEffects:Disabled] -Color=56,56,56 -ColorAmount=0 -ColorEffect=0 -ContrastAmount=0.65 -ContrastEffect=1 -IntensityAmount=0.1 -IntensityEffect=2 - -[ColorEffects:Inactive] -ChangeSelectionColor=true -Color=112,111,110 -ColorAmount=0.025 -ColorEffect=2 -ContrastAmount=0.1 -ContrastEffect=2 -Enable=false -IntensityAmount=0 -IntensityEffect=0 - -[Colors:Button] -BackgroundAlternate=30,87,116 -BackgroundNormal=49,54,59 -DecorationFocus=240,84,76 -DecorationHover=240,84,76 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Complementary] -BackgroundAlternate=30,87,116 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header][Inactive] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Selection] -BackgroundAlternate=30,87,116 -BackgroundNormal=240,84,76 -DecorationFocus=240,84,76 -DecorationHover=240,84,76 -ForegroundActive=252,252,252 -ForegroundInactive=161,169,177 -ForegroundLink=253,188,75 -ForegroundNegative=176,55,69 -ForegroundNeutral=198,92,0 -ForegroundNormal=252,252,252 -ForegroundPositive=23,104,57 -ForegroundVisited=155,89,182 - -[Colors:Tooltip] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=240,84,76 -DecorationHover=240,84,76 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:View] -BackgroundAlternate=35,38,41 -BackgroundNormal=27,30,32 -DecorationFocus=240,84,76 -DecorationHover=240,84,76 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Window] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=240,84,76 -DecorationHover=240,84,76 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[General] -ColorScheme=BreezeDark -Name=Breeze Tmavé (numix) -shadeSortColumn=true - -[KDE] -contrast=4 - -[WM] -activeBackground=49,54,59 -activeBlend=252,252,252 -activeForeground=252,252,252 -inactiveBackground=33,38,43 -inactiveBlend=161,169,177 -inactiveForeground=161,169,177 diff --git a/.local/share/konsole/Můj.profile b/.local/share/konsole/Můj.profile index 6a85079..5184fc2 100644 --- a/.local/share/konsole/Můj.profile +++ b/.local/share/konsole/Můj.profile @@ -3,7 +3,7 @@ AntiAliasFonts=true BoldIntense=true ColorScheme=DarkPastels DimmValue=54 -Font=Ubuntu Mono,9,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium +Font=BlexMono Nerd Font Mono Medium,8,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Regular UseFontLineChararacters=true [General] diff --git a/.vim/after/syntax/markdown.vim b/.vim/after/syntax/markdown.vim index ec0d9de..14f9faa 100644 --- a/.vim/after/syntax/markdown.vim +++ b/.vim/after/syntax/markdown.vim @@ -1,3 +1,37 @@ +vim9script + unlet b:current_syntax syntax include @Yaml syntax/yaml.vim syntax region yamlFrontmatter start=/\%^---$/ end=/^---$/ keepend contains=@Yaml + +# MarkdownLinkConceal ----------------------------------------------------{{{1 +execute + \ 'syntax region markdownLink matchgroup=markdownLinkDelimiter ' .. + \ 'start="(" end=")" contains=markdownUrl keepend contained conceal' +execute + \ 'syntax region markdownLinkText matchgroup=markdownLinkTextDelimiter ' .. + \ 'start="!\=\[\%(\_[^][]*\%(\[\_[^][]*\]\_[^][]*\)*]\%([[(]\)\)\@=" ' .. + \ 'end="\]\%([[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite ' .. + \ 'contains=@markdownInline,markdownLineStart concealends' + +# Checkbox Syntax Fix ----------------------------------------------------{{{1 +# Correct the checkbox syntax highlighting issue from +# fix: https://github.com/tpope/vim-markdown/issues/212 + +# Allow user to customize checkbox symbols, default: [ ] [.] [o] [O] [x] [X] [-] +g:markdown_checkbox_symbols = get(g:, 'markdown_checkbox_symbols', ' .oOxX-') + +# Build regex pattern for list item + checkbox +var list_pat = '\%(\d\+\.\|[aAiI]\.\|[*+-]\)' +var checkbox_chars = escape(g:markdown_checkbox_symbols, '^-[]') +var checkbox_pat = '^\s*' .. list_pat .. '\s*\[[' .. checkbox_chars .. ']\]' + +# Define checkbox syntax group +execute('syn match markdownTodo "' .. checkbox_pat .. '" contains=markdownTodoDone') + +# Match the symbol inside the checkbox +execute('syn match markdownTodoDone "[' .. checkbox_chars .. ']" containedin=markdownTodo contained') + +# Optional: highlight style (comment out to use theme default) +hi def link markdownTodo markdownListMarker +hi def link markdownTodoDone markdownBold diff --git a/.vim/coc-settings.json b/.vim/coc-settings.json index 4116748..39ac6b6 100644 --- a/.vim/coc-settings.json +++ b/.vim/coc-settings.json @@ -13,7 +13,8 @@ "html.autoCreateQuotes": false, "javascript.preferences.quoteStyle": "double", "javascript.preferences.importModuleSpecifierEnding": "js", - "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true, + "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true, "___eslint.options": { "overrideConfig":{ "extends": [ diff --git a/.vim/user_tips.vim b/.vim/user_tips.vim index 1886d61..c59442e 100644 --- a/.vim/user_tips.vim +++ b/.vim/user_tips.vim @@ -46,7 +46,7 @@ let g:user_tips_list= [ \ ':lhistory :lolder :lnewer', \ ':[m]ove :[co]py (:t) :p :#', \ ':help i_CTRL- … i_CTRL-Y … i', - \ '*grep onchange -r . --include=*.\{js,md\} …or http://jdem.cz/fgytv8', + \ '*grep onchange -r . --include=*.\{js,md\}', \ '%bdelete|edit #|normal `"', \ ':diffget :diffput c] [c', \ ':chistory :colder :cnewer', diff --git a/.vimrc b/.vimrc deleted file mode 100644 index e9d4f00..0000000 --- a/.vimrc +++ /dev/null @@ -1,385 +0,0 @@ -""" VIM config file | Jan Andrle | 2025-04-05 (VIM >=9.1 AppImage) -"" #region B – Base - scriptencoding utf-8 | set encoding=utf-8 - set pythonthreedll=/lib/x86_64-linux-gnu/libpython3.12.so.1.0 - let $BASH_ENV = "~/.bashrc" - set runtimepath^=~/.vim/bundle/* - packadd! matchit - packadd! cfilter - let g:ft_man_folding_enable = 1 - runtime! ftplugin/man.vim - " set hidden - - set title - colorscheme codedark - set updatetime=300 "TODO DEL lazyredraw - set noerrorbells novisualbell - set belloff=esc - set confirm - set guioptions-=T - set shortmess-=i - - cabbrev %PWD% execute('pwd') - cabbrev %CD% fnameescape(expand('%:p:h')) - cabbrev %CS% mini_enhancement#selectedText() - cabbrev %CW% expand('') - - let mapleader = "\\" - " better for my keyboard, but maybe use `:help keymap`? - nnoremap § @ - nnoremap §§ @@ - nnoremap ů ; - nnoremap ; : - nnoremap u U - nnoremap U - nnoremap ž - nnoremap - nnoremap - " - imap  - cmap  - - if has("patch-8.1.0360") - set diffopt+=algorithm:patience,indent-heuristic | endif - set diffopt+=iwhite - augroup vimrc_help - autocmd! - autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | vertical resize 90 | endif - augroup END - - """ #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 - let g:vifm_replace_netrw= 1 | let g:loaded_netrw= 1 | let g:loaded_netrwPlugin= 1 " this line needs to be commented to let vim dowmload spelllangs!!! … see http://jdem.cz/fgyw25 - """ #endregion BB -"" #endregion B -"" #region H – Helpers - " TODO DEL - command! -nargs=? CLscratch 10split | enew | setlocal buftype=nofile bufhidden=wipe noswapfile nobuflisted | if !='' | execute 'normal "'..'p' | endif | nnoremap ;q :q - - cabbrev ALTR ALTredrawSyntax - command! -nargs=0 - \ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft - - let g:quickfix_len= 0 - function! QuickFixStatus() abort - hi! link User1 StatusLine - if !g:quickfix_len | return 'Ø' | endif - if g:quickfix_len>0 | return g:quickfix_len | endif - let type= &termguicolors ? 'gui' : 'cterm' - execute 'hi! User1 '.type.'bg='.synIDattr(synIDtrans(hlID('StatusLine')), 'bg'). - \' '.type.'fg='.synIDattr(synIDtrans(hlID('WarningMsg')), 'fg') - return -g:quickfix_len - endfunction - function! s:QuickFixCmdPost() abort - let q_len= len(getqflist()) - let g:quickfix_len= q_len ? -q_len : len(getloclist(0)) - endfunction - augroup quickfix - autocmd! - autocmd QuickFixCmdPost * call QuickFixCmdPost() - augroup END -"" #endregion H -"" #region SLH – Status Line + Command Line + History (general) + Sessions + File Update, … - set showcmd cmdheight=2 showmode - set wildmenu wildoptions=pum,fuzzy - "" wildmode=list:longest,list:full " Tab autocomplete in command mode - - cabbrev wbw wbw - - set sessionoptions-=options - - function! NumberOfBuffers() - return len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) - endfunction - set laststatus=2 " Show status line on startup - 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 I’m using git/system backups - try - set undodir=~/.vim/undodir undofile | catch | endtry - command! CLundotree UndotreeToggle | echo 'Use also :undolist :earlier :later' | UndotreeFocus - command! SETundoClear let old_undolevels=&undolevels | set undolevels=-1 | exe "normal a \\" | let &undolevels=old_undolevels | unlet old_undolevels | write -"" #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 colorcolumn=+1 " …marker visual - " TODO DEL - command -nargs=? SETtextwidth if | let &textwidth= | let &colorcolumn=',120,240' | else | let &textwidth=250 | let &colorcolumn='120,240' | endif - SETtextwidth " wraping lines and show two lines - 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 -"" #endregion LLW -"" #region CN – Clipboard + Navigation throught Buffers + Windows + … (CtrlP) - set pastetoggle= | nnoremap :set invpaste paste? - function! JaaCopyRegister() - echo "Copy content of the register: " - let sourceReg = nr2char(getchar()) - if sourceReg !~# '\v^[a-z0-9"*+]' - echon sourceReg." – invalid register" - return - endif - echon sourceReg."\ninto the register: " - let destinationReg = nr2char(getchar()) - if destinationReg !~# '\v^[a-z0-9"*+]' - echon destinationReg." – invalid register" - return - endif - call setreg(destinationReg, getreg(sourceReg, 1)) - echon destinationReg - endfunction - nnoremap " :call JaaCopyRegister() - - " CtrlP previously - nmap š buffer_number("#")==-1 ? ":CocList --normal buffers\" : "\" - nmap ě :CocList - nmap 3 :buffers:b - nmap š :CocList buffers | :syntax on - nmap č š -"" #endregion CN -"" #region FOS – File(s) + Openning + Saving - set autowrite autoread | autocmd FocusGained,BufEnter *.* checktime - set modeline - function! JaaAppendModeline(additional= 0) - let l:modeline= printf(" vim: set tabstop=%d shiftwidth=%d textwidth=%d %sexpandtab :", - \ &tabstop, &shiftwidth, &textwidth, &expandtab ? '' : 'no') - let l:modeline= substitute(&commentstring, "%s", l:modeline, "") - call append(line("$"), l:modeline) - - if !a:additional | return 0 | endif - if &foldmethod=="marker" - let l:modeline= printf(" vim>60: set foldmethod=marker foldmarker=%s :", - \ &foldmarker) - elseif &foldmethod=="indent" - let l:modeline= printf(" vim>60: set foldmethod=indent foldlevel=%d foldnestmax=%d:", - \ &foldlevel, &foldnestmax) - else - return 0 - endif - let l:modeline= substitute(&commentstring, "%s", l:modeline, "") - call append(line("$"), l:modeline) - endfunction - - set path+=src/**,app/**,build/** " File matching for `:find` - for ignore in [ '.git', '.npm', 'node_modules' ] - exec ':set wildignore+=**'.ignore.'**' - exec ':set wildignore+=**/'.ignore.'/**' - endfor - set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png,*.ico - set wildignore+=*.pdf,*.psd - - nmap e :Vifm - nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand(''), '?', '\\?', ''), 1)."'" \| redraw! - vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw! -"" #endregion FOS -"" #region EN – Editor navigation + search - set grepprg=LC_ALL=C\ grep\ -HRIns - set hlsearch incsearch " highlight search, start when typing - if maparg('', 'n') ==# '' - nnoremap :nohlsearch=has('diff')?'diffupdate':'' | endif " TODO? syntax sync fromstart - - let g:markbar_persist_mark_names = v:false - let g:markbar_cache_with_hidden_buffers = v:false " last buffers are reopened as hidden https://github.com/Yilin-Yang/vim-markbar/blob/9f5a948d44652074bf2b90d3da6a400d8a369ba5/doc/vim-markbar.txt#L136 - nmap m ToggleMarkbar -"" #endregion EN -"" #region EA – Editing adjustment + Syntax + White chars + Folds - " use § for § - inoremap § - set nrformats-=octal - - let g:htl_css_templates=1 - let g:markdown_fenced_languages= [ 'javascript', 'js=javascript', 'json', 'html', 'php', 'bash', 'vim', 'vimscript=javascript', 'sass' ] - augroup conceal - autocmd! - au FileType markdown - \ syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained conceal - \| syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\%(\_[^][]\|\[\_[^][]*\]\)*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart concealends - au FileType markdown,json - \ setlocal conceallevel=2 - augroup END - augroup convenient - autocmd FileType markdown,text setlocal keywordprg=dict - autocmd FileType git,gitcommit setlocal foldmethod=syntax foldlevel=1 - augroup END - " PARENTHESES plugin junegunn/rainbow_parentheses.vim - let g:rainbow#pairs= [['(', ')'], ['[', ']'], [ '{', '}' ]] - let g:rainbow#blacklist = [203,9] - autocmd VimEnter * try - \| call rainbow_parentheses#toggle() | catch | endtry - " HIGHLIGHT&YANK plugins (buildin) hlyank & cwordhi.vim - packadd hlyank - let g:hlyank_duration= 250 - let g:cwordhi#autoload= 1 - set showmatch " Quick highlight oppening bracket/… for currently writted - set timeoutlen=1000 ttimeoutlen=0 " Remove timeout when hitting escape TAB - if v:version > 703 || v:version == 703 && has("patch541") - set formatoptions+=j | endif " Delete comment character when joining commented lines - set smarttab - " TODO DEL - command! -nargs=1 SETtab let &shiftwidth= | let &tabstop= | let &softtabstop= - SETtab 4 - set backspace=indent,eol,start " Allow cursor keys in insert mode: http://vi.stackexchange.com/a/2163 - set shiftround autoindent " round diff shifts to the base of n*shiftwidth, https://stackoverflow.com/a/18415867 - filetype plugin indent on - " SYNTAX&COLORS - if ($TERM =~ '256' && has("termguicolors")) - set termguicolors | endif - if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on") - syntax enable | endif - set list listchars=tab:»·,trail:·,extends:#,nbsp:~,space:· " Highlight spec. chars / Display extra whitespace - set redrawtime=10000 - augroup syntax_sync_min_lines - autocmd! - autocmd BufEnter * syntax sync fromstart "TODO DEL syn sync minlines=2000 - augroup END - let g:vim_vue_plugin_config = { 'foldexpr': 1, 'attribute': 1, 'keyword': 1 } - " SPELL - if !has("gui_running") - hi clear SpellBad | hi SpellBad cterm=underline,italic | endif - command! -nargs=? SETspell if ==&spelllang || =='' | set spell! | else | set spell | set spelllang= | endif | if &spell | set spelllang | endif - " EDIT HEPERS - nnoremap o o - nnoremap O O - nnoremap a - for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ] - execute m.'map '.l.' "+'.l | endfor | endfor " no noremap ⇐ https://github.com/jasonccox/vim-wayland-clipboard?tab=readme-ov-file#non-recursive-mappings - " TODO DEL: FOLDS - " TODO DEL: command! -nargs=0 SETFOLDregions set foldmethod=marker - " TODO DEL: command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel= | let &foldnestmax=+1 - " TODO DEL: command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(, ' ')[0] | let &foldnestmax=split(, ' ')[1] - set foldmarker=#region,#endregion - " SAVE VIEW - set viewoptions=cursor,folds - augroup remember__view - autocmd! - autocmd BufWinLeave *.* if &buflisted | mkview | endif - autocmd BufWinEnter *.* silent! loadview - augroup END -"" #endregion EA -"" #region AI -let g:codeium_disable_bindings = 1 -imap