Some text

Programs to Improve Your Terminal Experience

For a visually pleasing environment and intuitive management.

For a visually pleasing environment and intuitive management.

· 4 min read

The terminal can be an uncomfortable and unproductive environment if you are not familiar with the tools it offers. It’s not only interesting to know the native tools of a Linux system, such as those from the GNU project but also the additional tools you can install to make your daily life in the terminal easier. This post’s list presents tools that not only add agility to the terminal but also offer a richer visual experience for the text screen. They are useful for both beginners and those who already have autonomy but may not be familiar with some of the items below.

1. tmux

Good for: Managing multiple terminal sessions, visual window management.

tmux is a terminal multiplexer. In other words, it allows you to manage multiple terminal sessions through command line and keyboard shortcuts. It’s useful for handling more than one session in the same terminal, managing sessions through windows, sending open sessions to the background, and in general, providing a user-friendly interface to navigate between open processes in the terminal. It makes even more sense when you are limited to accessing a remote machine only via SSH. Tmux will give you much more freedom.

Tmux supports plugins that allow you to extend the program with functions like predefining window layouts (tmuxinator) for different project environments and restoring the previous layout even after restarting the machine (tmux-continuum).

2. Nerd Fonts

image

Good for: Rendering useful icons through the command line.

Nerd Fonts are not a program but a package of icons provided as text fonts. There are over 9,000 included icons that, when used as one of your terminal fonts, allow you to view icons in the command line, making programs visually richer. To facilitate their use, these icons are combined with another text font you use, such as UbuntuMono, Fira Code, Hack. This way, you only need to set the text font you chose, and the icons will already be included in the terminal. The programs in this list, and many in the same category, take advantage of these fonts for their visuals, so this is pretty much a must

3. Zsh (+themes and plugins)

zsh

zsh

Good for: Enhancing the command line experience through plugins.

Zsh is a command interpreter, just like Bash. What makes it famous is the community-developed plugins, especially by the Oh My Zsh project, to make your daily life in the terminal easier. Things like auto-complete, themes, and extensions for a richer prompt, git integrations, and built-in aliases are some of the features you find on the project.

There is a whole universe of plugins and setups being shared on the internet for you to look at, but as a start, Oh My Zsh carries most of plugins and themes you my need out of the box. There is also a plugin/theme/prompt called spaceship which has a simple look, but it’s full of features.

4. bat

bat

Good for: Displaying code with syntax highlighting.

bat is a powerful cat clone with syntax highlighting and Git integration. It enhances the user experience by making it easier to view the content of files in the terminal with syntax highlighting for a wide range of programming languages. This improved visualization is particularly useful for code reviews, code navigation, and reading files.

5. nnn

nnn

Good for: Efficiently navigating directories and files.

nnn is a highly efficient and feature-rich file manager for the terminal. It enhances the user experience by providing a user-friendly interface to navigate and manage files and directories. With support for keyboard shortcuts, plugins, and various customization options, nnn offers an intuitive and productive way to work with files and directories in the terminal.

⭐: nala

nala install

nala update

Good for: A simpler and formatted interface for the apt package manager.

As a bonus item, for people using Debian based distros, nala is a front-end for apt. As it’s described from the project’s page:

Especially for newer users it can be hard to understand what apt is trying to do when installing or upgrading.

We aim to solve this by not showing some redundant messages, formatting the packages better, and using color to show specifically what will happen with a package during install, removal, or an upgrade.

Additionally, it allows for parallel downloads, making it faster for fetching mirrors and pulling different packages at the same time. As I use just the most commons apt commands, It was easy to simply alias apt to nala:

alias apt='nala'

It might be a fit for you too!

Share:
Back to Blog