2012-02-28 02:48:42 +00:00
# vimux
Easily interact with tmux from vim. This project is still in development so some features are still missing.
## Installation
With ** [vim-bundle ](https://github.com/benmills/vim-bundle )**: `vim-bundle install benmills/vimux`
2012-02-28 02:55:14 +00:00
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 ) than move the entire folder extracted from the tarball into `~/.vim/bundle` .
2012-02-28 02:48:42 +00:00
## Usage
2012-02-29 04:49:05 +00:00
### RunVimTmuxCommand
2012-02-28 02:48:42 +00:00
Run a system command in a small horizontal split bellow the current pane vim is in.
```viml
" Run the current file with rspec
2012-03-01 22:49:20 +00:00
map < Leader > rb :call RunVimTmuxCommand("clear; rspec " . bufname("%"))< CR >
2012-02-29 18:44:13 +00:00
```
### PromptVimTmuxCommand
Prompt for a command and run it in a small horizontal split bellow the current pane.
```viml
" Prompt for a command to run
map < Leader > rp :PromptVimTmuxCommand< CR >
2012-02-28 02:48:42 +00:00
```
2012-02-29 04:49:05 +00:00
### RunLastVimTmuxCommand
Run the last command executed by `RunVimTmuxCommand`
```viml
" Run last command executed by RunVimTmuxCommand
2012-02-29 04:52:52 +00:00
map < Leader > rl :call RunLastVimTmuxCommand< CR >
2012-02-29 04:49:05 +00:00
```
2012-02-29 18:44:13 +00:00
### InspectVimTmuxRunner
Move into the tmux runner pane created by `RunVimTmuxCommand` and enter copy mode (scroll mode).
```viml
" Inspect runner pane
map < Leader > ri :InspectVimTmuxRunner< CR >
```
2012-02-29 04:49:05 +00:00
### CloseVimTmuxWindows
2012-02-28 02:48:42 +00:00
Close all other tmux panes in the current window.
```viml
" Close all other tmux panes in current window
2012-02-29 04:52:52 +00:00
map < Leader > rx :CloseVimTmuxWindows< CR >
2012-02-29 04:49:05 +00:00
```
2012-03-01 01:19:53 +00:00
### InterruptVimTmuxRunner
Interrupt any command that is running inside the runner pane.
```viml
" Interrupt any command running in the runner pane
2012-03-01 01:22:10 +00:00
map < Leader > rs :InterruptVimTmuxRunner< CR >
2012-03-01 01:19:53 +00:00
```
2012-03-01 01:22:10 +00:00
### Full Keybind Example
2012-02-29 18:49:07 +00:00
```viml
" Run the current file with rspec
2012-03-01 22:49:20 +00:00
map < Leader > rb :call RunVimTmuxCommand("clear; rspec " . bufname("%"))< CR >
2012-02-29 18:49:07 +00:00
" 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 >
2012-03-01 01:19:53 +00:00
" Interrupt any command running in the runner pane
2012-03-01 01:22:10 +00:00
map < Leader > rs :InterruptVimTmuxRunner< CR >
2012-02-29 18:49:07 +00:00
```
2012-02-29 04:49:05 +00:00
## Options
### VimuxHeight
Set the percent height of the runner pane opened by `RunVimTmuxCommand` .
2012-02-29 04:52:52 +00:00
**Default: `"20"` **
2012-02-29 04:49:05 +00:00
```viml
let VimuxHeight = "50"
2012-02-28 02:48:42 +00:00
```
## Todo
2012-02-28 02:55:14 +00:00
The features I would like to add in the near future.
2012-02-29 18:44:13 +00:00
* Add the ability to target any tmux session, window and pane