mirror of https://github.com/preservim/vimux
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.4 KiB
Markdown
98 lines
2.4 KiB
Markdown
# 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`
|
|
|
|
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`.
|
|
|
|
## Usage
|
|
|
|
### RunVimTmuxCommand
|
|
Run a system command in a small horizontal split bellow the current pane vim is in.
|
|
|
|
*Example:*
|
|
|
|
```viml
|
|
" 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:*
|
|
|
|
```viml
|
|
" Prompt for a command to run
|
|
map <Leader>rp :PromptVimTmuxCommand<CR>
|
|
```
|
|
|
|
### RunLastVimTmuxCommand
|
|
Run the last command executed by `RunVimTmuxCommand`
|
|
|
|
*Example:*
|
|
|
|
```viml
|
|
" 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:*
|
|
|
|
```viml
|
|
" Inspect runner pane
|
|
map <Leader>ri :InspectVimTmuxRunner<CR>
|
|
```
|
|
|
|
### CloseVimTmuxWindows
|
|
Close all other tmux panes in the current window.
|
|
|
|
*Example:*
|
|
|
|
```viml
|
|
" Close all other tmux panes in current window
|
|
map <Leader>rx :CloseVimTmuxWindows<CR>
|
|
```
|
|
|
|
### Full Example Code
|
|
|
|
```viml
|
|
" 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"`**
|
|
|
|
```viml
|
|
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
|