Go to file
2012-02-29 14:21:54 -06:00
plugin Add InspectVimTmuxRunner command and PromptVimTmuxCommand 2012-02-29 12:45:33 -06:00
README.mkd Update README.mkd 2012-02-29 14:21:54 -06:00

vimux

Easily interact with tmux from vim. This project is still in development so some features are still missing.

Installation

With vim-bundle: vim-bundle install benmills/vimux

Otherwise download the latest tarball, extract it and move plugin/vimux.vim inside ~/.vim/plugin. If you're using pathogen than move the entire folder extracted from the tarball into ~/.vim/bundle.

Usage

RunVimTmuxCommand

Run a system command in a small horizontal split bellow the current pane vim is in.

Example:

" Run the current file with rspec
map <Leader>rb :call RunVimTmuxCommand("clear && rspec " . bufname("%"))<CR>

PromptVimTmuxCommand

Prompt for a command and run it in a small horizontal split bellow the current pane.

Example:

" Prompt for a command to run
map <Leader>rp :PromptVimTmuxCommand<CR>

RunLastVimTmuxCommand

Run the last command executed by RunVimTmuxCommand

Example:

" Run last command executed by RunVimTmuxCommand
map <Leader>rl :call RunLastVimTmuxCommand<CR>

InspectVimTmuxRunner

Move into the tmux runner pane created by RunVimTmuxCommand and enter copy mode (scroll mode).

Example:

" Inspect runner pane
map <Leader>ri :InspectVimTmuxRunner<CR>

CloseVimTmuxWindows

Close all other tmux panes in the current window.

Example:

" Close all other tmux panes in current window
map <Leader>rx :CloseVimTmuxWindows<CR>

Full Example Code

" Run the current file with rspec
map <Leader>rb :call RunVimTmuxCommand("clear && rspec " . bufname("%"))<CR>

" Prompt for a command to run
map <Leader>rp :PromptVimTmuxCommand<CR>

" Run last command executed by RunVimTmuxCommand
map <Leader>rl :call RunLastVimTmuxCommand<CR>

" Inspect runner pane
map <Leader>ri :InspectVimTmuxRunner<CR>

" Close all other tmux panes in current window
map <Leader>rx :CloseVimTmuxWindows<CR>

Options

VimuxHeight

Set the percent height of the runner pane opened by RunVimTmuxCommand. Default: "20"

let VimuxHeight = "50"

Todo

The features I would like to add in the near future.

  • Add the ability to target any tmux session, window and pane
  • Implment an interupt command that stops the currently running command
  • Exit copy-mode before running a command