https://github.com/aaronjanse/3mux
Terminal multiplexer inspired by i3
https://github.com/aaronjanse/3mux
hacktoberfest i3 i3wm tmux tui
Last synced: 20 days ago
JSON representation
Terminal multiplexer inspired by i3
- Host: GitHub
- URL: https://github.com/aaronjanse/3mux
- Owner: aaronjanse
- License: mit
- Created: 2019-01-06T21:11:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-22T01:40:30.000Z (over 2 years ago)
- Last Synced: 2025-04-07T01:11:46.110Z (27 days ago)
- Topics: hacktoberfest, i3, i3wm, tmux, tui
- Language: Go
- Homepage:
- Size: 10.3 MB
- Stars: 1,822
- Watchers: 23
- Forks: 46
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - aaronjanse/3mux - Terminal multiplexer inspired by i3 (Go)
README
`3mux` is a terminal multiplexer with out-of-the-box support for search, mouse-controlled scrollback, and i3-like keybindings. Imagine `tmux` with a smaller learning curve and more user-friendly defaults.
[
](https://streamable.com/m2r57p)
### Features
* batteries included
* i3-like keybindings
* session management
* optionally interactive
* self-documenting
* search
* scrollback
* mouse support
* drag to resize panes
* click to select pane
* scrollwheel### Key Bindings
| Key(s) | Description
|-------:|:------------
|Alt+Enter
Alt+N | Create a new pane
|Alt+Shift+F | Make the selected pane fullscreen. Useful for copying text
|Alt+←/↓/↑/→
Alt+h/j/k/l | Select an adjacent pane
|Alt+Shift+←/↓/↑/→
Alt+Shift+h/j/k/l | Move the selected pane
|Alt+R | Enter resize mode. Resize selected pane with arrow keys or h/j/k/l. Exit using any other key(s)
|Alt+/ | Enter search mode. Type query, navigate between results with arrow keys or n/N
|Scroll | Move through scrollback
|Shift | Many terminal emulators support selecting text while pressing this key### Supported tmux Bindings
| Key(s) | Description
|-------:|:------------
|Ctrl+b " | Split horizontally
|Ctrl+b % | Split vertically
|Ctrl+b { | Move pane left
|Ctrl+b } | Move pane right### Supported screen Bindings
| Key(s) | Description
|-------:|:------------
|Ctrl+a \| | Split horizontally
|Ctrl+a S | Split vertically
|Ctrl+a Tab | Cycle forward through panes### Installation Instructions
###### Using Homebrew
```
brew update
brew install 3mux
```###### Using Nix flakes (requires Nix 2.4+)
```
nix run github:aaronjanse/3mux
```###### Package manager
[](https://repology.org/project/3mux/versions)
###### Building from source
1. Install Golang
2. `go get github.com/aaronjanse/3mux`
3. Run `3mux` to launch the terminal multiplexerTo update `3mux`, run `go get -u github.com/aaronjanse/3mux`
#### Terminal.app
_**Warning: Arrow-key-controlled pane management is currently unsupported on Terminal.app. Please use the default vim-like keybindings instead.**_
Preferences > Profiles > Keyboard > Use Option as Meta Key#### iTerm2
Preferences > Profiles > Keys > Option Key > Esc+### Miscellaneous
3mux searches `XDG_CONFIG_HOME` to find its config. If it cannot, it writes a config to `~/.config/3mux/config.toml` upon the first run. Modifiers in shortcuts (e.g. `Alt`) are case-insensitive.
You can detect if you're running a script inside 3mux by checking if `THREEMUX` is equal to `1`.
### Contributing
All help is welcome! You can help the project by filing issues recording what works well, what doesn't work well, and/or a feature you want. Pull Requests would be very much appreciated.### Related Projects
* [tmux-tilish](https://github.com/jabirali/tmux-tilish)