Introduction to Tmux - Codementor Tmux Office Hours Part 1

Arc & Codementor
Arc & CodementorArc & Codementor
Starting Tmux
Problem with the vanilla 
console app? 
• managing (huge) number of terminals 
• example terminals for just one project
Problem with the vanilla 
console app? 
• example terminals multiple projects
Solution? 
Tmux - terminal multiplexer 
• “Core” features: 
• multiple windows 
• window splits (horizontal & vertical) 
• sessions (groups of windows) 
• persistant env 
• Other advanced features
Installing Tmux 
• Mac 
$ brew install tmux 
$ brew install reattach-to-user-namespace 
(fixes pbpaste) 
• Linux 
$ apt-get install -y tmux
Recommended configuration 
• ~/.tmux.conf - tmux config file 
• remap default “prefix” from Ctrl-b to Ctrl-a 
• set -g prefix C-a # in .tmux.conf 
• remap Caps Lock to Ctrl (on a system level)
Demo: starting tmux 
• just type $ tmux
Demo: creating new windows 
• prefix + c
Demo: navigating windows 
• previous window: prefix + p 
• next window: prefix + n 
• specific window: prefix + <num>
Demo: splitting windows 
• vertical split: prefix + % 
• horizontal split: prefix + “ 
*unusual choice 
of keys
Demo: split movement 
• prefix + <arrow key>
Demo: creating sessions 
• prefix + :new -s session_name *very 
inconvenient
Demo: switching sessions 
• switch session: prefix + s 
• navigate sessions: j, k (or arrow keys)
Demo: detaching tmux 
• detach: prefix + d 
• attach: $ tmux attach
Tmux demo roundup 
• manipulating windows 
• manipulating splits 
• manipulating sessions 
• some quirky defaults => Tmux configuration
Basic Tmux configuration 
• very configurable 
• any key-binding can be changed 
• “community standards” - things everyone has in 
their .tmux.conf
Configuration via plugins 
• tmux-sensible 
- handles tmux quirks and boilerplate configuration 
• tmux-pain-control 
- convenient basic key bindings 
• tmux-sessionist 
- better session handling
Installing plugins
Plugin benefits 
• less tmux quirks 
• more vim :)
Next steps? 
• look up tmux copy mode (scrollback) 
• $ man tmux 
• use tmux daily 
• tmux book 
• more plugins 
https://github.com/tmux-plugins
Questions?
1 of 21

Recommended

Tmux tips and_tricks by
Tmux tips and_tricksTmux tips and_tricks
Tmux tips and_tricksArc & Codementor
6.1K views9 slides
tmux - An overview of the features of this powerful terminal multiplexer. by
tmux - An overview of the features of this powerful terminal multiplexer.tmux - An overview of the features of this powerful terminal multiplexer.
tmux - An overview of the features of this powerful terminal multiplexer.jhalfmoon
1.8K views29 slides
tmux by
tmuxtmux
tmuxJason Lotito
1.8K views59 slides
Uses of tmux explained by
Uses of tmux explainedUses of tmux explained
Uses of tmux explainedStanislas Polu
27.5K views15 slides
Tmux Development Workflow by
Tmux Development WorkflowTmux Development Workflow
Tmux Development Workflowjschembri
486 views31 slides
TMUX Rocks! by
TMUX Rocks!TMUX Rocks!
TMUX Rocks!Kent Chen
15.7K views67 slides

More Related Content

What's hot

Tmux quick intro by
Tmux quick introTmux quick intro
Tmux quick introdantleech
455 views23 slides
Improving your shell usage - 2009 by
Improving your shell usage - 2009Improving your shell usage - 2009
Improving your shell usage - 2009Chris Sinjakli
344 views17 slides
20 keyboard shortcuts for your linux machine by
20 keyboard shortcuts for your linux machine20 keyboard shortcuts for your linux machine
20 keyboard shortcuts for your linux machineYoussoufou YABRE
503 views2 slides
Vim Rocks! by
Vim Rocks!Vim Rocks!
Vim Rocks!Kent Chen
9.7K views76 slides
21 command prompt tricks and hacks by
21 command prompt tricks and hacks21 command prompt tricks and hacks
21 command prompt tricks and hacksAbdullah Khosa
528 views25 slides
Vim Book by
Vim BookVim Book
Vim BookMaurício Sousa
479 views572 slides

What's hot(14)

Tmux quick intro by dantleech
Tmux quick introTmux quick intro
Tmux quick intro
dantleech455 views
Improving your shell usage - 2009 by Chris Sinjakli
Improving your shell usage - 2009Improving your shell usage - 2009
Improving your shell usage - 2009
Chris Sinjakli344 views
20 keyboard shortcuts for your linux machine by Youssoufou YABRE
20 keyboard shortcuts for your linux machine20 keyboard shortcuts for your linux machine
20 keyboard shortcuts for your linux machine
Youssoufou YABRE503 views
Vim Rocks! by Kent Chen
Vim Rocks!Vim Rocks!
Vim Rocks!
Kent Chen9.7K views
21 command prompt tricks and hacks by Abdullah Khosa
21 command prompt tricks and hacks21 command prompt tricks and hacks
21 command prompt tricks and hacks
Abdullah Khosa528 views
tmux عدنان الشعلة شرح برنامج by adnan alshulah
tmux عدنان الشعلة شرح برنامج tmux عدنان الشعلة شرح برنامج
tmux عدنان الشعلة شرح برنامج
adnan alshulah52 views
tmux20141007 by Kevin Wu
tmux20141007tmux20141007
tmux20141007
Kevin Wu148 views
Installation of ubuntu, ns3 and compiling first by Jawad Khan
Installation of ubuntu, ns3 and compiling firstInstallation of ubuntu, ns3 and compiling first
Installation of ubuntu, ns3 and compiling first
Jawad Khan693 views
The Shell Game Part 4: Bash Shortcuts by Kevin OBrien
The Shell Game Part 4: Bash ShortcutsThe Shell Game Part 4: Bash Shortcuts
The Shell Game Part 4: Bash Shortcuts
Kevin OBrien1.2K views

Similar to Introduction to Tmux - Codementor Tmux Office Hours Part 1

Ultimate Unix Meetup Presentation by
Ultimate Unix Meetup PresentationUltimate Unix Meetup Presentation
Ultimate Unix Meetup PresentationJacobMenke1
186 views70 slides
Emacs tutorial by
Emacs tutorialEmacs tutorial
Emacs tutorialLingfei Kong
670 views18 slides
Course 102: Lecture 9: Input Output Internals by
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Ahmed El-Arabawy
1.2K views53 slides
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible by
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible NETWAYS
1.7K views47 slides
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ... by
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...NETWAYS
26 views46 slides
Pairing with tmux and vim for DevOps Days Austin 2015 by
Pairing with tmux and vim for DevOps Days Austin 2015Pairing with tmux and vim for DevOps Days Austin 2015
Pairing with tmux and vim for DevOps Days Austin 2015Scott Baldwin
995 views20 slides

Similar to Introduction to Tmux - Codementor Tmux Office Hours Part 1(20)

Ultimate Unix Meetup Presentation by JacobMenke1
Ultimate Unix Meetup PresentationUltimate Unix Meetup Presentation
Ultimate Unix Meetup Presentation
JacobMenke1186 views
Course 102: Lecture 9: Input Output Internals by Ahmed El-Arabawy
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals
Ahmed El-Arabawy1.2K views
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible by NETWAYS
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible
OSDC 2014: Jan-Piet Mens - Configuration Management with Ansible
NETWAYS1.7K views
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ... by NETWAYS
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...
OSDC 2013 | Ansible: configuration management doesn't have to be complicated ...
NETWAYS26 views
Pairing with tmux and vim for DevOps Days Austin 2015 by Scott Baldwin
Pairing with tmux and vim for DevOps Days Austin 2015Pairing with tmux and vim for DevOps Days Austin 2015
Pairing with tmux and vim for DevOps Days Austin 2015
Scott Baldwin995 views
Linux for beginners by Nitesh Nayal
Linux for beginnersLinux for beginners
Linux for beginners
Nitesh Nayal1.6K views
Ultimate Unix Meetup Presentation by JacobMenke1
Ultimate Unix Meetup PresentationUltimate Unix Meetup Presentation
Ultimate Unix Meetup Presentation
JacobMenke11.8K views
2016 nov-16 grenoble-floss_tmux by Michael Bright
2016 nov-16 grenoble-floss_tmux2016 nov-16 grenoble-floss_tmux
2016 nov-16 grenoble-floss_tmux
Michael Bright214 views
Batch programming and Viruses by Akshay Saini
Batch programming and VirusesBatch programming and Viruses
Batch programming and Viruses
Akshay Saini550 views
Devel::NYTProf 2009-07 (OUTDATED, see 201008) by Tim Bunce
Devel::NYTProf 2009-07 (OUTDATED, see 201008)Devel::NYTProf 2009-07 (OUTDATED, see 201008)
Devel::NYTProf 2009-07 (OUTDATED, see 201008)
Tim Bunce5.4K views
Terraform Modules and Continuous Deployment by Zane Williamson
Terraform Modules and Continuous DeploymentTerraform Modules and Continuous Deployment
Terraform Modules and Continuous Deployment
Zane Williamson1.9K views

More from Arc & Codementor

Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of Arc by
Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of ArcRemote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of Arc
Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of ArcArc & Codementor
364 views31 slides
Introduction to Python for Data Science by
Introduction to Python for Data ScienceIntroduction to Python for Data Science
Introduction to Python for Data ScienceArc & Codementor
4.6K views25 slides
25 php interview questions – codementor by
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementorArc & Codementor
173.1K views37 slides
20 iOS developer interview questions by
20 iOS developer interview questions20 iOS developer interview questions
20 iOS developer interview questionsArc & Codementor
2.3K views23 slides
29 Essential AngularJS Interview Questions by
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview QuestionsArc & Codementor
487.6K views31 slides
37 Java Interview Questions by
37 Java Interview Questions37 Java Interview Questions
37 Java Interview QuestionsArc & Codementor
20.8K views39 slides

More from Arc & Codementor(13)

Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of Arc by Arc & Codementor
Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of ArcRemote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of Arc
Remote Career Summit 2020 - the State of Remote Jobs - Weiting Liu of Arc
Arc & Codementor364 views
Introduction to Python for Data Science by Arc & Codementor
Introduction to Python for Data ScienceIntroduction to Python for Data Science
Introduction to Python for Data Science
Arc & Codementor4.6K views
25 php interview questions – codementor by Arc & Codementor
25 php interview questions – codementor25 php interview questions – codementor
25 php interview questions – codementor
Arc & Codementor173.1K views
20 iOS developer interview questions by Arc & Codementor
20 iOS developer interview questions20 iOS developer interview questions
20 iOS developer interview questions
Arc & Codementor2.3K views
29 Essential AngularJS Interview Questions by Arc & Codementor
29 Essential AngularJS Interview Questions29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
Arc & Codementor487.6K views
21 Essential JavaScript Interview Questions by Arc & Codementor
21 Essential JavaScript Interview Questions21 Essential JavaScript Interview Questions
21 Essential JavaScript Interview Questions
Arc & Codementor653.5K views
Top 10 Programming Languages in 2015 by Arc & Codementor
Top 10 Programming Languages in 2015Top 10 Programming Languages in 2015
Top 10 Programming Languages in 2015
Arc & Codementor589 views
Angular meteor for angular devs by Arc & Codementor
Angular meteor for angular devsAngular meteor for angular devs
Angular meteor for angular devs
Arc & Codementor18.8K views
Codementor Office Hours with Eric Chiang: Stdin, Stdout: pup, Go, and life at... by Arc & Codementor
Codementor Office Hours with Eric Chiang: Stdin, Stdout: pup, Go, and life at...Codementor Office Hours with Eric Chiang: Stdin, Stdout: pup, Go, and life at...
Codementor Office Hours with Eric Chiang: Stdin, Stdout: pup, Go, and life at...
Arc & Codementor3.4K views
Building Modern and Secure PHP Applications – Codementor Office Hours with Be... by Arc & Codementor
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Arc & Codementor11.2K views
Python Internals Optimization Choices Made - Codementors Office Hours with St... by Arc & Codementor
Python Internals Optimization Choices Made - Codementors Office Hours with St...Python Internals Optimization Choices Made - Codementors Office Hours with St...
Python Internals Optimization Choices Made - Codementors Office Hours with St...
Arc & Codementor20.3K views

Recently uploaded

Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
16 views3 slides
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
21 views15 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
11 views29 slides
STPI OctaNE CoE Brochure.pdf by
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdfmadhurjyapb
14 views1 slide
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
41 views73 slides
Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
38 views15 slides

Recently uploaded(20)

Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc11 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays17 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Powerful Google developer tools for immediate impact! (2023-24) by wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf

Introduction to Tmux - Codementor Tmux Office Hours Part 1

  • 2. Problem with the vanilla console app? • managing (huge) number of terminals • example terminals for just one project
  • 3. Problem with the vanilla console app? • example terminals multiple projects
  • 4. Solution? Tmux - terminal multiplexer • “Core” features: • multiple windows • window splits (horizontal & vertical) • sessions (groups of windows) • persistant env • Other advanced features
  • 5. Installing Tmux • Mac $ brew install tmux $ brew install reattach-to-user-namespace (fixes pbpaste) • Linux $ apt-get install -y tmux
  • 6. Recommended configuration • ~/.tmux.conf - tmux config file • remap default “prefix” from Ctrl-b to Ctrl-a • set -g prefix C-a # in .tmux.conf • remap Caps Lock to Ctrl (on a system level)
  • 7. Demo: starting tmux • just type $ tmux
  • 8. Demo: creating new windows • prefix + c
  • 9. Demo: navigating windows • previous window: prefix + p • next window: prefix + n • specific window: prefix + <num>
  • 10. Demo: splitting windows • vertical split: prefix + % • horizontal split: prefix + “ *unusual choice of keys
  • 11. Demo: split movement • prefix + <arrow key>
  • 12. Demo: creating sessions • prefix + :new -s session_name *very inconvenient
  • 13. Demo: switching sessions • switch session: prefix + s • navigate sessions: j, k (or arrow keys)
  • 14. Demo: detaching tmux • detach: prefix + d • attach: $ tmux attach
  • 15. Tmux demo roundup • manipulating windows • manipulating splits • manipulating sessions • some quirky defaults => Tmux configuration
  • 16. Basic Tmux configuration • very configurable • any key-binding can be changed • “community standards” - things everyone has in their .tmux.conf
  • 17. Configuration via plugins • tmux-sensible - handles tmux quirks and boilerplate configuration • tmux-pain-control - convenient basic key bindings • tmux-sessionist - better session handling
  • 19. Plugin benefits • less tmux quirks • more vim :)
  • 20. Next steps? • look up tmux copy mode (scrollback) • $ man tmux • use tmux daily • tmux book • more plugins https://github.com/tmux-plugins