From 1be76e6c709f95a1a8a631abbddee9d8f89ea7cc Mon Sep 17 00:00:00 2001 From: davidovski Date: Sat, 1 Nov 2025 13:34:24 +0000 Subject: add xrandr script --- config/vim/vimrc | 225 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 165 insertions(+), 60 deletions(-) (limited to 'config/vim/vimrc') diff --git a/config/vim/vimrc b/config/vim/vimrc index b348907..74515ba 100644 --- a/config/vim/vimrc +++ b/config/vim/vimrc @@ -1,4 +1,4 @@ -set viminfo+=n~/.config/vim/viminfo +"set viminfo+=~/.config/vim/viminfo set runtimepath+=~/.config/vim,~/.config/vim/after set autoindent set wrap @@ -53,69 +53,80 @@ Plug 'preservim/vim-markdown' "let g:vim_markdown_json_frontmatter = 1 -Plug 'neoclide/coc.nvim' -hi CocInlayHint ctermbg=Black ctermfg=Gray - -set updatetime=300 -set signcolumn=yes - -nmap [g (coc-diagnostic-prev) -nmap ]g (coc-diagnostic-next) - -nmap gd (coc-definition) -nmap gy (coc-type-definition) -nmap gi (coc-implementation) -nmap gr (coc-references) - -xmap f (coc-format-selected) -nmap f (coc-format-selected) - -nmap rn (coc-rename) -nmap re (coc-codeaction-refactor) -xmap r (coc-codeaction-refactor-selected) -" nmap r (coc-codeaction-refactor-selected) - -inoremap - \ coc#pum#visible() ? coc#pum#next(1) : - \ CheckBackspace() ? "\" : - \ coc#refresh() -inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" - -inoremap coc#pum#visible() ? coc#pum#confirm() - \: "\u\\=coc#on_enter()\" - -function! CheckBackspace() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - - -if has('nvim') - inoremap coc#refresh() -else - inoremap coc#refresh() -endif - -xmap a (coc-codeaction-selected) -nmap a (coc-codeaction-selected) - -" autocmd CursorHold * silent call CocActionAsync('highlight') +"Plug 'neoclide/coc.nvim' +"hi CocInlayHint ctermbg=Black ctermfg=Gray +" +"set updatetime=300 +"set signcolumn=yes +" +"nmap [g (coc-diagnostic-prev) +"nmap ]g (coc-diagnostic-next) +" +"nmap gd (coc-definition) +"nmap gy (coc-type-definition) +"nmap gi (coc-implementation) +"nmap gr (coc-references) +" +"xmap f (coc-format-selected) +"nmap f (coc-format-selected) +" +"nmap rn (coc-rename) +"nmap re (coc-codeaction-refactor) +"xmap r (coc-codeaction-refactor-selected) +"" nmap r (coc-codeaction-refactor-selected) +" +"inoremap +" \ coc#pum#visible() ? coc#pum#next(1) : +" \ CheckBackspace() ? "\" : +" \ coc#refresh() +"inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" +" +"inoremap coc#pum#visible() ? coc#pum#confirm() +" \: "\u\\=coc#on_enter()\" +" +"function! CheckBackspace() abort +" let col = col('.') - 1 +" return !col || getline('.')[col - 1] =~# '\s' +"endfunction +" +" +"if has('nvim') +" inoremap coc#refresh() +"else +" inoremap coc#refresh() +"endif +" +"xmap a (coc-codeaction-selected) +"nmap a (coc-codeaction-selected) +" +"" autocmd CursorHold * silent call CocActionAsync('highlight') +" +"function! ShowDocumentation() +" if CocAction('hasProvider', 'hover') +" call CocActionAsync('doHover') +" else +" call feedkeys('K', 'in') +" endif +"endfunction +" +"autocmd FileType python let b:coc_root_patterns = ['.git', '.env', '.'] + +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' -function! ShowDocumentation() - if CocAction('hasProvider', 'hover') - call CocActionAsync('doHover') - else - call feedkeys('K', 'in') - endif -endfunction -autocmd FileType python let b:coc_root_patterns = ['.git', '.env', '.'] +let g:fzf_cache_dir = '$HOME/.cache' -Plug 'junegunn/fzf.vim' +Plug 'yuki-yano/fzf-preview.vim' +Plug 'BurntSushi/ripgrep' nnoremap :Files nnoremap :Rg +nnoremap :Tags + +nnoremap g] :call fzf#vim#tags(expand('')) +nnoremap ag :Ag Plug 'heavenshell/vim-pydocstring', { 'do': 'make install', 'for': 'python' } @@ -123,9 +134,9 @@ Plug 'tpope/vim-fugitive' Plug 'yggdroot/indentline' -Plug 'yuttie/comfortable-motion.vim' -noremap :call comfortable_motion#flick(40) -noremap :call comfortable_motion#flick(-40) +"Plug 'yuttie/comfortable-motion.vim' +"noremap :call comfortable_motion#flick(40) +"noremap :call comfortable_motion#flick(-40) let g:comfortable_motion_interval = 2000.0/60 let g:comfortable_motion_friction = 80.0 @@ -141,3 +152,97 @@ highlight Pmenu ctermbg=black guibg=black ctermfg=white hi TrailingWhitespace ctermbg=red guibg=red call matchadd("TrailingWhitespace", '\v\s+$') + +" ex command for toggling hex mode - define mapping if desired +command -bar Hexmode call ToggleHex() + +" helper function to toggle hex mode +function ToggleHex() + " hex mode should be considered a read-only operation + " save values for modified and read-only for restoration later, + " and clear the read-only flag for now + let l:modified=&mod + let l:oldreadonly=&readonly + let &readonly=0 + let l:oldmodifiable=&modifiable + let &modifiable=1 + if !exists("b:editHex") || !b:editHex + " save old options + let b:oldft=&ft + let b:oldbin=&bin + " set new options + setlocal binary " make sure it overrides any textwidth, etc. + silent :e " this will reload the file without trickeries + "(DOS line endings will be shown entirely ) + let &ft="xxd" + " set status + let b:editHex=1 + " switch to hex editor + %!xxd + else + " restore old options + let &ft=b:oldft + if !b:oldbin + setlocal nobinary + endif + " set status + let b:editHex=0 + " return to normal editing + %!xxd -r + endif + " restore values for modified and read only state + let &mod=l:modified + let &readonly=l:oldreadonly + let &modifiable=l:oldmodifiable +endfunction + +" autocmds to automatically enter hex mode and handle file writes properly +if has("autocmd") + " vim -b : edit binary using xxd-format! + augroup Binary + au! + + " set binary option for all binary files before reading them + au BufReadPre *.bin,*.hex setlocal binary + + " if on a fresh read the buffer variable is already set, it's wrong + au BufReadPost * + \ if exists('b:editHex') && b:editHex | + \ let b:editHex = 0 | + \ endif + + " convert to hex on startup for binary files automatically + au BufReadPost * + \ if &binary | Hexmode | endif + + " When the text is freed, the next time the buffer is made active it will + " re-read the text and thus not match the correct mode, we will need to + " convert it again if the buffer is again loaded. + au BufUnload * + \ if getbufvar(expand(""), 'editHex') == 1 | + \ call setbufvar(expand(""), 'editHex', 0) | + \ endif + + " before writing a file when editing in hex mode, convert back to non-hex + au BufWritePre * + \ if exists("b:editHex") && b:editHex && &binary | + \ let oldro=&ro | let &ro=0 | + \ let oldma=&ma | let &ma=1 | + \ silent exe "%!xxd -r" | + \ let &ma=oldma | let &ro=oldro | + \ unlet oldma | unlet oldro | + \ endif + + " after writing a binary file, if we're in hex mode, restore hex mode + au BufWritePost * + \ if exists("b:editHex") && b:editHex && &binary | + \ let oldro=&ro | let &ro=0 | + \ let oldma=&ma | let &ma=1 | + \ silent exe "%!xxd" | + \ exe "set nomod" | + \ let &ma=oldma | let &ro=oldro | + \ unlet oldma | unlet oldro | + \ endif + augroup END +endif + -- cgit v1.2.3