https://github.com/syohex/emacs-emamux.git
git clone 'git://github.com/syohex/emacs-emamux.git'
Interact with tmux from Emacs.

emamux.el let emacs interact with tmux. emamux.el is inspired by tslime.vim and vimux.
emamux:send-commandSend command to specified target-session(session:window.pane).
Following is emamux:send-command demo with ido completion.

target-session is set as default at first emamux:send-command called.
You can change default target-session with C-u prefix.
emamux:yank-from-list-buffersYank from tmux buffer.
emamux:copy-kill-ringCopy content of (car kill-ring) to tmux buffer
You can change buffer index with Numerical Prefix.
Following commands can be executed only within tmux
emamux:run-commandRun command in a small split pane(runner pane) where emacs is in.
emamux:run-last-commandRun last command in runner pane.
emamux:zoom-runnerZoom runner runner pane. This command requires tmux 1.8 or higher.
emamux:inspect-runnerMove into the runner pane and enter the copy mode.
emamux:close-runner-paneClose runner pane.
emamux:close-panesClose all other panes in current window.
emamux:interrupt-runnerInterrupt command which is running in runner-pane.
emamux:clear-runner-historyClear tmux history in runner-pane
emamux:completing-read-typeCompleting read function type. You can choice from 'normal or 'ido, or 'helm.
emamux:default-orientationOrientation of split pane, 'vertical or 'horizonal(Default is 'vertical).
emamux:runner-pane-heightHeight of runner-pane(Default is 20).
emamux:use-nearest-paneUse nearest pane as runner pane instead of spliting pane(Default is nil).
It is useful for using emamux to show session name, window index and
pane index in tmux status bar.
# '#S' is session name, '#I' is window index, '#P' is pane index
set-option -g status-right '[#h###S:#I:#P]'
(custom-set-variables
'(emamux:completing-read-type 'helm))