Skip Navigation

Any idea how I can make a tmux alias for ssh?

I have a nice bash alias for tmux which opens a new window and directly ssh to whatever I specify

 undefined
    
function s() {
    tmux neww -n "$1" -- ssh "$1"
}

  

I want to also have something similar directly as an alias in tmux, so I can do C-b :s myhost when I'm already in a ssh to another server, instead of having to change windows, and then run s myhost in bash.

I tried using tmux's confiug to do various variations of

 undefined
    
set -s command-alias[100] s='run s'

  

Also using directly ssh, or without using run etc. But I can't figure it out.

You're viewing a single thread.

3 comments
  • In tmux, you usually set configuration options with set -g in tmux.conf. "-g" sets a global option which will apply to all new windows and sessions, otherwise the option applies only for the current window, which is usually not what you want.

    Since command-alias is an array, you can use the -a flag to append a new value at the end.

    With that said, try this:

     undefined
        
    set -ga command-alias s="new-window ssh foo"
    
    
      

    Keep in mind that run in tmux runs a shell command in the background, so you most likely want to use something like new-window or new-session instead.