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

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

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

Using direct ssh, or without using run etc. But I can’t figure it out.

  • PenguinCoder@beehaw.org
    link
    fedilink
    English
    arrow-up
    13
    ·
    1 year ago

    This is what I have in my . tmux.conf for SSH you can adapt

    bind-key S command-prompt -p "ssh to:","port:" "new-window -n %1 'ssh %1 -p %2'"

    That means when I press C-b, SHIFT S it asks what IP to connect to (type it in when it asks on the status bar of TMUX), press enter, the it asks the port to use.

    • db0@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      1 year ago

      bind-key S command-prompt -p "ssh to:","port:" "new-window -n %1 'ssh %1 -p %2'"

      Brilliant. I removed the port since I usually use my ssh config or I can just type with with : and it’s what I needed. Cheers