After a brief foray into using Zellij, I dropped it a while back and have continued to use tmux.
Turns out my favorable view of Zellij is mostly based on decent default key bindings. I thought I’d miss the stack – which I did like and didn’t find a decent way to do in tmux – but it’s been months and I haven’t missed it yet.
I drifted away from Zellij due to lack of status bar and control over appearance. Theoretically there are add-ons for it, but it wasn’t straightforward and the setup for tmux requires no add-ons for this very basic functionality.
I now borrow heavily from the key bindings in Zellij for my tmux configuration.
I dropped the use of the prefix in favor of alt/meta for things I do frequently.
For example, toggling the zoom is not alt+f, cycling windows is now alt+[* or alt+*]. I experimented with alt+x and alt+v for enter selection mode and pasting the buffer, respectively, but it didn’t stick. I’m not even sure those were the bindings I picked, I can’t recall.
Relevant config bits:
set -g mode-keys vi set -sg escape-time 0 set -g prefix C-b # prefix then hjkl to move in that direction # but don't wrap past it bind -n M-h if -F '#{pane_at_left}' "" 'select-pane -L' bind -n M-j if -F '#{pane_at_bottom}' "" 'select-pane -D' bind -n M-k if -F '#{pane_at_top}' "" 'select-pane -U' bind -n M-l if -F '#{pane_at_right}' "" 'select-pane -R' bind -n M-] next-window bind -n M-[ previous-window # convert new window keys to use same working directory bind -n M-"'" split-window -v -c "#{pane_current_path}" bind -n M-5 split-window -h -c "#{pane_current_path}" bind-key -n 'M-f' resize-pane -Z
I do need to have escape-time set to 0 for tmux so that my vi-keys in Bash work as expected and so that tmux doesn’t think I’m trying to switch panes when I’m really telling Bash to do stuff.
updated: 2024-06-15 10:42:54
generated: 2024-07-08