# vimux Easily interact with tmux from vim. ![vimux](https://www.braintreepayments.com/blog/content/images/blog/vimux3.png) What inspired me to write vimux was [tslime.vim](https://github.com/kikijump/tslime.vim), a plugin that lets you send input to tmux. While tslime.vim works well, I felt it wasn't optimized for my primary use case which was having a smaller tmux pane that I would use to run tests or play with a REPL. My goal with vimux is to make interacting with tmux from vim effortless. By default when you call `VimuxRunCommand` vimux will create a 20% tall horizontal pane under your current tmux pane and execute a command in it without losing focus of vim. Once that pane exists whenever you call `VimuxRunCommand` again the command will be executed in that pane. As I was using vimux myself I wanted to rerun commands over and over. An example of this was running the current file through rspec. Rather than typing that over and over I wrote `VimuxRunLastCommand` that will execute the last command you called with `VimuxRunCommand`. Other auxiliary functions and the ones I talked about above can be found bellow with a full description and example key binds for your vimrc. ## Installation With **[vim-bundle](https://github.com/benmills/vim-bundle)**: `vim-bundle install benmills/vimux` With **[Vundle](https://github.com/gmarik/Vundle.vim)**: 'Plugin benmills/vimux' in your .vimrc Otherwise download the latest [tarball](https://github.com/benmills/vimux/tarball/master), extract it and move `plugin/vimux.vim` inside `~/.vim/plugin`. If you're using [pathogen](https://github.com/tpope/vim-pathogen), then move the entire folder extracted from the tarball into `~/.vim/bundle`. _Notes:_ * Vimux assumes a tmux version >= 1.5. Some older versions might work but it is recommeded to use at least version 1.5. ## Platform-specific Plugins * [vim-vroom](https://github.com/skalnik/vim-vroom) runner for rspec, cucumber and test/unit; vimux support via `g:vroom_use_vimux` * [vimux-ruby-test](https://github.com/pgr0ss/vimux-ruby-test) a set of commands to easily run ruby tests * [vimux-cucumber](https://github.com/cloud8421/vimux-cucumber) run Cucumber Features through Vimux * [vim-turbux](https://github.com/jgdavey/vim-turbux) Turbo Ruby testing with tmux * [vimux-pyutils](https://github.com/julienr/vimux-pyutils) A set of functions for vimux that allow to run code blocks in ipython * [vimux-nose-test](https://github.com/pitluga/vimux-nose-test) Run nose tests in vimux * [vimux-golang](https://github.com/benmills/vimux-golang) Run go tests in vimux * [vimux-zeus](https://github.com/jingweno/vimux-zeus) Run zeus commands in vimux * [vimix](https://github.com/spiegela/vimix) Run Elixir mix commands in vimux * [vimux-cargo](https://github.com/jtdowney/vimux-cargo) run rust tests and projects using cargo and vimux * [vimux-bazel-test](https://github.com/pgr0ss/vimux-bazel-test) Run bazel tests in vimux * [vimux-jest-test](https://github.com/tyewang/vimux-jest-test) Run jest tests in vimux ## Usage The full documentation is available [online](https://raw.github.com/benmills/vimux/master/doc/vimux.txt) and accessible inside vim `:help vimux`