Hi Can't this be done with if-shell easily enough?
if "[ $(tmux display -pF '#{pane_current_command}') = vim ]" "send-keys foo" On Sun, Apr 07, 2013 at 02:47:52PM -0300, Thiago Padilha wrote: > Hi > > It would be nice to have a tmux command that conditonally send keys > based on the program running in the focused pane. > > See a use case with hacky workaround here: > https://gist.github.com/tarruda/5158535 > > In the example, vim-tmux-move.zsh will navigate between tmux panes, > but if the current pane is running vim, it will just send some > keys(which vim will handle by navigating between splits, or will > navigate to a tmux pane if the current split sits at an edge) > > There are other attempts to achieve the same thing: > https://gist.github.com/mislav/5189704 > > Those scripts could be generalized into a script that accepts the > following arguments: > > 1 - a program or pane identifier > 2 - a tmux key-map or command > remaining - a list of keys in the same format a send-keys > > The script would send the keys if the current pane matches the program > name, else it would run the tmux command or keymap. > > The problem with this approach is efficiency: every time a key mapped > to this script is pressed, a new shell has to be spawned, and that > shell will invoke tmux commands. This seems a lot of trouble for > simple things like integrating movement between tmux panes and another > program that also has the concept of panes/splits. > > My suggestion is to add a new command that solves this problem by > running other tmux commands based on a condition for example: > > bind M-p send-keys-if '#{pane_current_command} == vim' 'paste-buffer' > 'Escape' 'p' > > This would run bind alt+p to tmux paste-buffer command, but if vim was > focused it would send the keys necessary to invoke vim paste command. > > What do you think? > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > tmux-users mailing list > tmux-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tmux-users ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users