How to efficiently switch between several terminal windows using the keyboard?

Alt+Tab lets me only switch between windows belonging to different applications.

I often use about four terminal bound applications at the same time (e.g. IPython, VIM, fish for system and fish for git).

Even using the mouse, clicking the terminal icon on the launcher being offered takes time to decide which is which. But I don't know so far any way to switch in this case using my keyboard only.

How to handle multiple terminals (and instances of same application in general) efficiently using the keyboard?

With respect to the terminal special case - is there a terminal application allowing sperate terminals in tabs?


And the Oscar goes to ...

tmux


Solution 1:

In linux almost every terminal support tab, for example in Ubuntu with default terminal you can press:

  1. Ctrl + Shift + T or click File / Open Tab

  2. and you can switch between them using Alt + $ {tab_number} (*eg. Alt + 1)

also you might want to take a look at terminator

Solution 2:

You can use Alt+tilde (tilde = Grave) to switch between windows of the current application. Note that tilde is always the key above tab, it is a tilde in an US english keyboard, but it can be anything in other languages.

If you press the Windows key for a while unity will show you all it's keyboard shortcuts in an overlay:

enter image description here

Finally, near all terminal applications support tabs. The default one in Ubuntu does.

Solution 3:

Have you Tried to open multiple terminals using:

Ctrl + Shift + T

Then switching among them using:

Ctrl + PageUP

And

Ctrl + PageDown

I usually use this scenario at least for me

Solution 4:

Not the answer you are looking for, but I think it's worth considering:
Instead of multiple tabs, you can use screen and byobu: enter image description here

screen lets you manage multiple terminals in the same window. In the previous image you can see I have 3 terminals (0 tcpdump, 1 top and 2 Node.js). You can switch between them with Ctrl+a+{index of the terminal} for example (there are a lot of commands).
byobu is a wrapper for screen, it adds some color, more commands and a help menu. But you can use screen alone, without byobu.
Here there is a tutorial on how to install and use screen and byobu: https://www.digitalocean.com/community/articles/how-to-install-and-use-screen-on-an-ubuntu-cloud-server