Initial OpenRunnerPane implementation

This commit is contained in:
Chris Toomey 2012-11-22 23:12:17 -05:00
parent 6f439c49ae
commit cd0aa7cc7d
2 changed files with 44 additions and 1 deletions

View File

@ -2,7 +2,11 @@
A simple, vimscript only, command runner for sending commands from vim to tmux A simple, vimscript only, command runner for sending commands from vim to tmux
Inspired by: ## Commands
This plugin exposes a command to open a small command runner window
## Inspiration
- Tslime.vim - Tslime.vim
- Vimux - Vimux

View File

@ -0,0 +1,39 @@
" Function: s:initVariable() function {{{2
" This function is used to initialise a given variable to a given value. The
" variable is only initialised if it does not exist prior
"
" Args:
" var: the name of the var to be initialised
" value: the value to initialise var to
"
" Returns:
" 1 if the var is set, 0 otherwise
function! s:initVariable(var, value)
if !exists(a:var)
exec 'let ' . a:var . ' = ' . "'" . substitute(a:value, "'", "''", "g") . "'"
return 1
endif
return 0
endfunction
function! s:OpenRunnerPane()
call s:CacheVimTmuxPane()
call system("tmux split-window -p 20 -v")
call s:RefocusVimPane()
endfunction
function! s:CacheVimTmuxPane()
let panes = system("tmux list-panes")
for pane_title in split(panes, '\n')
if pane_title =~ '\(active\)'
let s:cached_vim_pane = pane_title[0]
echo s:cached_vim_pane
endif
endfor
endfunction
function! s:RefocusVimPane()
call system("tmux select-pane -t " . s:cached_vim_pane)
endfunction
command! VimTmuxRunnerOpenRunner :call s:OpenRunnerPane()