Pane Navigation in Windows Terminals
19 July, 2013It's known that the Windows terminal story has lacked feature parity when compared with tools like tmux, which have long been available in Unix/Linux environments. Two projects have risen that are taking on the Windows terminal experience; ConsoleZ and ConEmu.
I've used Console2 as my Windows terminal for sometime now, it offers tabbed views, user defined shells, and many other features. However, it doesn't offer the ability to split views and navigate between them with custom key-bindings. Standard stuff acheivable in multiple ways in Unix/Linux environments.
ConsoleZ
ConsoleZ is based on Console2 with some added features. Specifically, it has greatly improved the view panes and navigation experience, the following commands are key bindable.
- New Tab
- Next Tab
- Previous Tab
- Split Horizontally
- Split Vertically
- Switch to left View
- Switch to right View
- Switch to top View
- Switch to bottom View
- Bi-directional buffer scrolling by page, row, and column
This does get us much of the way there. However, the following are certainly missing:
- Pane resizing
- Pane and Tab Shuffling
ConEmu
ConEmu is another project that is remarkably feature rich. However, with with respect to panes and navigation you have the following commands to bind.
- Create new console (New Tab)
- Duplicate active shell split to right (Split Vertically)
- Duplicate active shell split to bottom (Split Horizontally)
- Switch next console (Cycle panes rolling over to next tab)
- Switch previous console (Cycle panes rolling over to previous tab)
- Switch to next visible pane (Cycle panes on current tab only)
- Switch to previous visible pane (Cycle Panes on current tab only)
- Move active tab leftward (Tab Shuffling)
- Move active tab rightward (Tab Shuffling)
- Scroll buffer one line/page up/down (Vertical buffer scrolling)
Unfortunately some of this behavior is not exactly intuitive, for instance you can't dart into any adjacent pane, only cycle through them. One command will jarringly skip over to the next tab and the other will not. Just as important is the lack of horizontal buffer scrolling. Again, I think we are missing:
- Customizable tab navigation
- True adjacent pane navigation
- Pane Resizing
- Pane Shuffling
- Horizontal buffer scrolling
It's our tools afterall
The work done in this space is greatly appreciated. It's time to show it by providing feedback, donating, or whatever. I know I will be using these tools or iterations thereof until I keel over my box, or go into management, may as well get involved in shaping them.