Opened Blog

Terminals of today

terminal

The terminal is no longer a plain black box. Today’s terminals are sleek, customizable, and supercharged with features that go beyond just running commands.

Why Terminals Matter

Terminals are powerful because they offer direct interaction with your tools and environment. You can automate workflows, script tasks, and work faster using muscle memory. A well-configured terminal can feel like a superpower.

Useful Terminal Tools

  • Starship: Custom prompt with minimal performance overhead.
  • Zoxide: A smarter cd alternative with fuzzy search.
  • Fzf: Fuzzy file and history finder. Works with CTRL+R too.
  • Bat: Better cat with syntax highlighting and git integration.
  • Ripgrep: Ultra-fast text searching (replacement for grep).

Using tmux Like a Pro

tmux is a terminal multiplexer that allows you to manage multiple terminal sessions from a single window. It’s a must-have for anyone who wants to boost their terminal productivity, especially if you’re dealing with long-running tasks, remote sessions, or multiple projects. With tmux, you can split your terminal into panes, switch between sessions, and keep processes running even after disconnecting.

  • Start: tmux to start a session, tmux attach to rejoin an existing session.
  • Split panes: Ctrl-b % (vertical), Ctrl-b " (horizontal). Split your terminal to work on multiple tasks at once.
  • Switch panes: Ctrl-b + arrow key. Seamlessly switch between tasks.
  • Detach: Ctrl-b d to detach and leave your session running in the background.
  • Window management: Ctrl-b c to create a new window, Ctrl-b n to switch to the next window.
  • Sessions: You can have multiple sessions running concurrently. Use tmux list-sessions to view them.

Here's a minimal .tmux.conf config to enhance your tmux experience:

# ~/.tmux.conf
set -g mouse on
setw -g mode-keys vi
bind r source-file ~/.tmux.conf \; display "Config Reloaded"
set -g status-style bg=black,fg=white

Pro tip: You can integrate fzf into your tmux workflow for fuzzy searching through files, directories, and even command history. This can drastically speed up your workflow in tmux.

Configuration Tips

Here’s how to level up your terminal:

  • Use a terminal multiplexer like tmux to split panes and manage sessions.
  • Use a Nerd Font like JetBrains Mono or Fira Code for icons and ligatures.
  • Keep your config files version-controlled in a dotfiles repo.
  • Use plugins like zsh-autosuggestions and zsh-syntax-highlighting.

🌟 Example: Starship Prompt Config

# ~/.config/starship.toml
format = "$directory$git_branch$nodejs$character"

[directory]
truncation_length = 3

[git_branch]
symbol = "🌱 "

🌟 Example: .zshrc Snippet

# ~/.zshrc
eval "$(starship init zsh)"
export EDITOR="nvim"
alias gs="git status"
alias ll="ls -lah"

Conclusion

The terminal isn’t going anywhere—it’s evolving. Whether you want speed, customization, or fancy visuals, there's a terminal setup for you. Find your perfect combo of emulator + shell + tools, and own it.

Pro tip: Use aliases and scripts to automate repetitive tasks.