No Esta Facil
  • 🌎About No Esta Facil
    • πŸ‘¨β€πŸ’»GitHub
    • πŸ“·Photography
    • πŸ—£οΈMy Speaker Bio
    • 🀝Disclaimer
    • πŸ“ˆGuilt Pile
      • Principal.dev
      • Tech Rocks Asia
  • πŸ“šBook Reviews
    • Sports
      • Ben Hogan's Five Lessons
    • Productivity
      • Smart Brevity
      • Nine Lies About Work: A Freethinking Leader’s Guide to the Real World
      • Think Again
      • Mastery
      • Talk Like Ted
      • The Hard Thing About Hard Things
      • The Courage to Be Disliked by Fumitake Koga and Ichiro Kishimi
    • Classic Texts
      • The Book of five rings
    • Technology
      • Amplifying Your Effectiveness: A Gem in Professional Growth Literature
      • AI Superpowers: China, Silicon Valley, and the New World Order
      • The Age of Agile
    • Business
      • Start with No by Jim Camp
      • Zero to One: Notes on Startups, or How to Build the Future by Peter Thiel
    • Health, fitness, and dieting
      • Outlive
    • Culture
      • Solito by Javier Zamora
  • Daily Goods
    • Continuous Education
      • Expanding Your Vocabulary
    • 🌡Cultura
      • Food
        • BBQ’n Like a Pro: Rub Recipes for Pork, Brisket, and Chicken
        • The Ultimate Mashed Potatoes with Bacon and Roasted Garlic
  • 🏌️My Golf Journey
    • Teeing off at ...
      • Oaks Quarry Golf, Riverside, CA
      • Education City Golf Club, Qatar, Doha
      • The Links at Spanish Bay, Pebble Beach, CA
      • Bayonet, Seaside, CA
      • Alta Sierra Country Club, Grass Valley, CA
    • Training
  • πŸ“Monthly Highlights [in TL;DR format]
    • FY23
      • El PeriΓ³dico - July 2023
      • El PeriΓ³dico - December 2023
      • El PeriΓ³dico - April 2023
      • El PeriΓ³dico - March 2023
      • El PeriΓ³dico - February 2023
      • El PeriΓ³dico - January 2023
      • El PeriΓ³dico - December 2022
    • FY24
      • January 2024
      • February 2024
      • March 2024
      • April 2024
    • FY25
  • πŸ‘¨β€πŸ’»The section on Software Engineering
    • ChatGPT Prompts
      • Usages
        • What are some flutter architectures?
      • Prompt Templates
        • Answer Misconceptions
    • Conferences and Bootcamps
      • Google Cloud BootCamp
      • Principal Developer Masterclass
    • Customer Engagement
      • Awards - Customer Hero
    • Engineering Manager
      • Mobile Application Development
        • Flutter Journal
          • App Release Resources
        • Accelerate Your Go-to-Market Strategy with Flutter
      • Understanding the Meaning of Software Requirements
      • Design Principles
        • Coupling
        • Routine
        • Software Design
          • The Trinity of Software Architecture: Coupling, Cohesion, and Information Hiding
      • General
        • Engineering Meetings
          • Steering the Conversation: Effective Strategies for Keeping Meetings Focused and Productive
    • Project Owner
      • Project Pressure, It Happens!
      • Strategic Leadership and Planning
    • Software Engineering
      • Overview
      • Design Patterns
        • Categories of Design Patterns
        • Choosing the Right Design Pattern for Problem-Solving in Programming
        • Singleton
      • Programming Languages
        • JavaScript
      • Toolkits
        • iTerm2
        • Developing on a Windows 11 machine
          • Setting up Typscript env
        • VS Code Extension
        • HTTPie
      • Best Practices
        • Pull Requests (PR's)
    • Solutions Engineer
      • Communication with executives
      • SE Toolkit
        • The Importance of Retros in Integration Processes
        • Meetings
          • Preparing for a Customer Meeting (Project-Based or Recurring)
          • Conducting a Productive Customer Meeting
          • Prepare and Send a Concise and Actionable Meeting Summary
            • Meeting Summary Template
        • Documentation
          • Adding an important notes section
          • Useful Resources
  • πŸ›«Travel
    • Asia
      • Singapore
      • Japan
      • South Korea
      • China
      • India
    • Caribbean Sea
      • Cuba
    • Europe
      • North America
        • Mexico
          • Guadalajara
        • Canada
    • Oceania
      • Fiji
    • Middle East
      • Dubai
      • Qatar
    • South America
      • Brazil
      • Peru
      • Columbia
    • In the planning stage ...
      • Antarctica
      • Africa
Powered by GitBook
On this page
  1. The section on Software Engineering
  2. Software Engineering
  3. Toolkits

iTerm2

PreviousToolkitsNextDeveloping on a Windows 11 machine

Last updated 9 months ago

Here's a step-by-step guide to help you set up a nice iTerm2 configuration on your Mac. This setup will focus on aesthetics, productivity, and usability. We’ll cover installing iTerm2, customizing its appearance, adding features, and using some popular tools to enhance your terminal experience.

Step 1: Install iTerm2

  1. Download iTerm2:

    • Visit the and download the latest stable release.

  2. Install iTerm2:

    • Open the downloaded file and drag the iTerm2 app to your Applications folder.

Step 2: Basic iTerm2 Configuration

  1. Launch iTerm2:

    • Open iTerm2 from your Applications folder.

  2. Set iTerm2 as Default Terminal:

    • Go to iTerm2 > Make iTerm2 Default Term in the menu bar.

  3. Check for Updates:

    • Go to iTerm2 > Check for Updates to ensure you have the latest version.

Step 3: Customize Appearance

  1. Install Powerline Fonts:

    • Open a new terminal window in iTerm2 and run the following command to clone the Powerline fonts repository:

      git clone https://github.com/powerline/fonts.git --depth=1
    • Navigate to the cloned directory and run the installation script:

      cd fonts
      ./install.sh
    • After installation, you can remove the cloned repository:

      cd ..
      rm -rf fonts
  2. Choose a Color Scheme:

    • iTerm2 supports custom color schemes. You can download schemes from .

    • To import a color scheme, go to iTerm2 > Preferences > Profiles > Colors tab, and click Color Presets > Import. Select the downloaded .itermcolors file.

  3. Set a Font:

    • Go to iTerm2 > Preferences > Profiles > Text.

    • Choose a Powerline-compatible font like "MesloLGS NF" from the dropdown.

  4. Transparency and Blur:

    • Go to iTerm2 > Preferences > Profiles > Window.

    • Adjust the transparency slider and enable blur for a nice effect.

Step 4: Enhance Functionality

  1. Install Oh My Zsh:

    • Install Zsh if you haven’t already by running:

      brew install zsh
    • Then install Oh My Zsh using the following command:

      sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  2. Choose a Zsh Theme:

    • Oh My Zsh comes with many themes. You can set a theme by editing the ~/.zshrc file:

      nano ~/.zshrc
    • Find the line ZSH_THEME="robbyrussell" and change it to your desired theme, e.g., agnoster for a Powerline-like theme:

      ZSH_THEME="agnoster"
  3. Install Zsh Plugins:

    • zsh-syntax-highlighting: Highlights command syntax.

      brew install zsh-syntax-highlighting

      Add the following to your .zshrc:

      source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    • zsh-autosuggestions: Suggests commands as you type.

      brew install zsh-autosuggestions

      Add the following to your .zshrc:

      source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
  4. Configure Plugins in Zsh:

    • Edit your .zshrc file to include plugins:

      plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
  5. Reload Zsh Configuration:

    • After making changes, reload your terminal configuration:

      source ~/.zshrc

Step 5: Use Tmux for Multiplexing

  1. Install Tmux:

    • Install Tmux via Homebrew:

      brew install tmux
  2. Configure Tmux:

    • Create a configuration file:

      touch ~/.tmux.conf
    • Add some basic configurations:

      # Increase history size
      set -g history-limit 10000
      
      # Enable mouse mode
      set -g mouse on
      
      # Set prefix to Ctrl-a
      unbind C-b
      set-option -g prefix C-a
      bind-key C-a send-prefix
  3. Use Tmux:

    • Start a new Tmux session:

      tmux
    • Detach from the session with Ctrl-a d.

    • Reattach with:

      tmux attach-session -t <session-name>

Step 6: Additional Tips

  • Hotkeys:

    • Go to iTerm2 > Preferences > Keys to configure key mappings for easier navigation.

  • Window Management:

    • Use Cmd-d to split panes vertically and Cmd-Shift-d to split horizontally.

  • Profile Switching:

    • Create multiple profiles for different tasks, accessible from iTerm2 > Preferences > Profiles.

  • Automation and Scripting:

    • Explore iTerm2’s scripting capabilities to automate tasks using Python or AppleScript.

πŸ‘¨β€πŸ’»
iTerm2 website
iTerm2 Color Schemes