Coder Social home page Coder Social logo

3mux's Introduction

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 sane defaults.

Features

  • batteries included
  • i3-like keybindings
  • 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

  1. Install Golang
  2. go get github.com/aaronjanse/3mux
  3. Run 3mux to launch the terminal multiplexer

To 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

3mux's People

Contributors

aaronjanse avatar flipcoder avatar gottwald avatar maxmcd avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.