reorganization

This commit is contained in:
Till 2026-03-10 14:34:01 +01:00
parent bc44678dac
commit 91b5421848
46 changed files with 47 additions and 51 deletions

View file

@ -0,0 +1,42 @@
setlocal spell
setlocal textwidth=0
setlocal syntax=rmd
setlocal breakat-=@
setlocal makeprg=Rscript\ -e\ 'publishR::render(\\"%\\")'
nnoremap <localleader>oh :! xdg-open %:r.html<cr>
nnoremap <localleader>op :! xdg-open %:r.pdf<cr>
nnoremap <localleader>ow :! xdg-open %:r.docx<cr>
nnoremap <leader>t :TOC<cr>
xnoremap <silent> ic :<c-u>call InnerChunk()<cr>
onoremap <silent> ic :<c-u>call InnerChunk()<cr>
xnoremap <silent> ac :<c-u>call OuterChunk()<cr>
onoremap <silent> ac :<c-u>call OuterChunk()<cr>
function OuterChunk()
let chunk = FindChunk()
execute "normal! " . chunk.start . "GV" . chunk.end . "G"
endfunction
function InnerChunk()
let chunk = FindChunk()
execute "normal! " . chunk.start . "GjV" . chunk.end . "Gk"
endfunction
function FindChunk()
let view = winsaveview()
normal! j
?\v^ *```(\{.*\})=$
let startFence = line(".")
/\v^ *``` *
let endFence = line(".")
if startFence <= view.lnum && endFence >= view.lnum
return {"start": startFence, "end": endFence}
else
echoerr "Not inside a chunk"
endif
call winrestview(view)
endfunction

View file

@ -0,0 +1 @@
setlocal makeprg=nixos-rebuild\ dry-build

View file

@ -0,0 +1,6 @@
nnoremap <localleader>i :! R CMD INSTALL `git rev-parse --show-toplevel`<cr>
nnoremap <localleader>d :! R -e "devtools::document()"<cr>
nnoremap <localleader>t :! R -e "devtools::test()"<cr>
" nnoremap <localleader>rl :vsplit \| :terminal R<cr><c-w><c-w>
nnoremap <localleader>rl :silent exec "! tmux source-file ~/.config/tmux/rloft.conf"<cr>

View file

@ -0,0 +1,43 @@
runtime ftplugin/markdown.vim
runtime ftplugin/r.vim
" let g:slime_cell_delimiter = "```"
nmap <silent> snc <plug>SlimeMotionSendic/```{<cr>:noh<cr>j
nmap <silent> <localleader>pd :execute 'SlimeSend1 datapasta::tribble_construct() \|> clipr::write_clip()'<cr>:sleep500ms<cr>"*p
nmap <silent> <localleader>pv :execute 'SlimeSend1 datapasta::vector_construct() \|> clipr::write_clip()'<cr>:sleep500ms<cr>"*p
nmap sc :set opfunc=SendAndPaste<CR>g@
nmap sc<cr> ^:set opfunc=SendAndPaste<CR>g@$
vmap sc :<C-U>call SendAndPaste(visualmode(), 1)<CR>
function! SendAndPaste(type, ...)
let v = winsaveview()
let sel_save = &selection
let &selection = "inclusive"
let reg_save = @@
if a:0 " Invoked from Visual mode, use gv command.
silent exe "normal! gvy"
elseif a:type == 'line'
silent exe "normal! '[V']y"
else
silent exe "normal! `[v`]y"
endif
call slime#send(trim(@@) . " |> capture.output() |> clipr::write_clip()\r")
/```
call append(line("."), ["", "```{r}", "```"])
/```{r}
sleep 500m
let @*=substitute(@*, '\e\[[0-9;]*m', '', 'g')
:put*
call winrestview(v)
let &selection = sel_save
let @@ = reg_save
endfunction
:UltiSnipsAddFiletypes rmd.r.markdown

View file

@ -0,0 +1,2 @@
setlocal makeprg=xelatex\ %
nnoremap <localleader>op :! xdg-open %:r.pdf<cr>

View file

@ -0,0 +1 @@
setlocal makeprg=tsx\ %