diff --git a/install b/install index a3a36ba..963d441 100755 --- a/install +++ b/install @@ -115,14 +115,14 @@ __fsel() { } __fsel_tmux() { - local height lines + local height height=${FZF_TMUX_HEIGHT:-40%} - lines=${LINES:-40} if [[ $height =~ %$ ]]; then - height=${height:0:${#height}-1} - height=$(( height * lines / 100 )) + height="-p ${height%\%}" + else + height="-l $height" fi - tmux split-window -l $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\"" + tmux split-window $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\"" } __fcd() { @@ -189,14 +189,14 @@ EOF if [ -n "$TMUX_PANE" -a ${FZF_TMUX:-1} -ne 0 -a ${LINES:-40} -gt 15 ]; then fzf-file-widget() { - local height lines + local height height=${FZF_TMUX_HEIGHT:-40%} - lines=${LINES:-40} if [[ $height =~ %$ ]]; then - height=${height:0:${#height}-1} - height=$(( height * lines / 100 )) + height="-p ${height%\%}" + else + height="-l $height" fi - tmux split-window -l $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\"" + tmux split-window $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\"" } else fzf-file-widget() { diff --git a/plugin/fzf.vim b/plugin/fzf.vim index c75e9af..faf8e57 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -115,20 +115,16 @@ function! s:execute_tmux(dict, command, temps) let command = a:command endif - if type(a:dict.tmux) == 1 - if a:dict.tmux =~ '%$' - let height = &lines * str2nr(a:dict.tmux[0:-2]) / 100 - else - let height = str2nr(a:dict.tmux) - endif + if type(a:dict.tmux) == 1 && a:dict.tmux =~ '%$' + let height = '-p '.a:dict.tmux[0:-2] else - let height = a:dict.tmux + let height = '-l '.a:dict.tmux endif let s:pane = substitute( \ system( \ printf( - \ 'tmux split-window -l %d -P -F "#{pane_id}" %s', + \ 'tmux split-window %s -P -F "#{pane_id}" %s', \ height, s:shellesc(command))), '\n', '', 'g') let s:dict = a:dict let s:temps = a:temps