goodbye Zellij

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.

brief foray into using Zellij

Tags

#index

#tmux

#cli

Navigation

index

tags

prev ⏰

⏰ next

updated: 2024-06-15 10:42:54

generated: 2024-10-15


Source