runtime ftplugin/markdown.vim runtime ftplugin/r.vim " let g:slime_cell_delimiter = "```" nmap snc SlimeMotionSendic/```{:nohj nmap pd :execute 'SlimeSend1 datapasta::tribble_construct() \|> clipr::write_clip()':sleep500ms"*p nmap pv :execute 'SlimeSend1 datapasta::vector_construct() \|> clipr::write_clip()':sleep500ms"*p nmap sc :set opfunc=SendAndPasteg@ nmap sc ^:set opfunc=SendAndPasteg@$ vmap sc :call SendAndPaste(visualmode(), 1) 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