commit ae57b0b875fd593b78c7dd62d9dc6b0094039fa4
parent 1351fd18fb71fab4df65020854ff531b6374f729
Author: Pablo Cárdenas <pablo.cardenas@imca.edu.pe>
Date: Wed, 13 May 2026 15:17:25 -0300
tmux: added support for long texts
Diffstat:
1 file changed, 35 insertions(+), 7 deletions(-)
diff --git a/pack/pablo/opt/tmux/plugin/tmux.vim b/pack/pablo/opt/tmux/plugin/tmux.vim
@@ -4,7 +4,8 @@ def TmuxSendKeysToMarkedVisual()
var a_save = @a
try
silent execute 'normal! "ay'
- call system('tmux send-keys -t {marked} -- ' .. "\e[200~" .. shellescape(@a) .. "\e[201~" )
+ call system("tmux load-buffer -", @a)
+ call system("tmux paste-buffer -p -t {marked}")
finally
@a = a_save
endtry
@@ -20,29 +21,56 @@ def TmuxSendKeysToMarkedNormal(type: string)
elseif type == "block"
silent execute "normal! `[\<C-v>`]\"ay"
endif
- call system('tmux send-keys -t {marked} -- ' .. "\e[200~" .. shellescape(@a) .. "\e[201~" )
+ call system("tmux load-buffer -", @a)
+ call system("tmux paste-buffer -p -t {marked}")
finally
@a = a_save
set operatorfunc=
endtry
enddef
-def TmuxSetBuffer()
+def TmuxSetBufferVisual()
var a_save = @a
try
silent execute 'normal! "ay'
- call system('tmux set-buffer ' .. shellescape(@a))
+ call system("tmux load-buffer -", "\e[200~" .. @a .. "\e[201~")
+ call system("tmux paste-buffer -t {marked}")
finally
@a = a_save
endtry
enddef
-vmap <silent> <localleader>tb <ScriptCmd>TmuxSetBuffer()<CR>
-vmap <silent> <localleader>ts <ScriptCmd>TmuxSendKeysToMarkedVisual()<CR>
+def TmuxSetBufferNormal(type: string)
+ var a_save = @a
+ try
+ if type == 'line'
+ silent execute "normal! '[V']\"ay"
+ elseif type == "char"
+ silent execute "normal! `[v`]\"ay"
+ elseif type == "block"
+ silent execute "normal! `[\<C-v>`]\"ay"
+ endif
+ call system("tmux load-buffer -", @a)
+ finally
+ @a = a_save
+ set operatorfunc=
+ endtry
+enddef
+
+nmap <silent> <localleader>tb <Cmd>set operatorfunc=<SID>TmuxSetBufferNormal<CR>g@
+vmap <silent> <localleader>tb <ScriptCmd>TmuxSetBufferVisual()<CR>
nmap <silent> <localleader>ts <Cmd>set operatorfunc=<SID>TmuxSendKeysToMarkedNormal<CR>g@
+vmap <silent> <localleader>ts <ScriptCmd>TmuxSendKeysToMarkedVisual()<CR>
+
nmap <silent> <localleader>te <ScriptCmd>system('tmux send-keys -t {marked} Enter')<CR>
nmap <silent> <localleader>tc <ScriptCmd>system('tmux send-keys -t {marked} <C-c>')<CR>
nmap <silent> <localleader>td <ScriptCmd>system('tmux send-keys -t {marked} <C-d>')<CR>
-nmap <silent> <localleader>tp <ScriptCmd>system('tmux send-keys -t {marked} python Enter')<CR>
+
+# Python
+nmap <silent> <localleader>tpi <ScriptCmd>system('tmux send-keys -t {marked} python Enter')<CR>
+nmap <silent> <localleader>tpa <ScriptCmd>system('tmux send-keys -t {marked} ". venv/bin/activate"')<CR>
+
+# R
+nmap <silent> <localleader>tri <ScriptCmd>system('tmux send-keys -t {marked} R Enter')<CR>
# vim: et sts=4 sw=4