A tiny vim plugin that sends a word/line/paragraph of text from vim into a tmux pane for execution.
git clone https://github.com/m-col/tide
Files | Refs | Readme | License

Commit ce0eb310a31b00fa633fab707b35c870ada69e94
Parent: 59e8ac5703db9b202e46d5b74d81a1762941daa0
Author: mcol <mcol@posteo.net>
Date: 2018-12-27 23:58:38 +0000
Committer: mcol <mcol@posteo.net>
Committed: 2018-12-27 23:58:38 +0000

sh ftplugin: f6 to print array fields

plugin/tide.vim Modified

@@ -86,7 +86,7 @@
     if s:bottom <= s:top
 	let s:bottom = line('$')
     elseif s:bottom != line('$')
-	let s:bottom = s:bottom - 1
+	let s:bottom = prevnonblank(s:bottom)
     endif
     if s:top == 0
 	let s:top = 1
@@ -132,3 +132,4 @@
     silent! nmap <unique> <silent> <F7> <Plug>TmuxSendWord
     silent! nmap <unique> <silent> <F4> <Plug>TmuxSendSection
 endif
+

ftplugin/sh.vim Added

@@ -0,0 +1,10 @@
+" Send Word is prefixed in shell scripts with 'echo $'
+silent! nmap <buffer> <silent> <F7> :call TmuxSendKeysEnter('echo $' . expand("<cword>"))<CR>
+
+" Send Word with F6 can be used to print all fields in array
+silent! nmap <buffer> <silent> <F6> :call TmuxSendKeysEnter('for i in ${' . expand("<cword>") . '[@]}; do echo $i; done')<CR>
+
+" lines are continued when ending in \
+" TODO
+
+

README.md Modified

@@ -7,7 +7,7 @@
 Tmux with one pane receiving all text from a non-tmuxed vim elsewhere, or
 vim in one of two tmux panes can send text to the.
 
-## default keybindings
+## default keybindings for all filetypes
 
 <F9> send visual selection (visual mode)
 <F9> send current paragraph (normal mode)