FOSSPicks
Nu Shell
Most of us think the set of terminal environments that are included in most distributions are perennial. They're always there, they seem to have always been there, and they seldom change. People will stick with their chosen environment for decades, perhaps only switching between a distro's default Bash for something more ambitious (such as Zsh) when their needs change. However, all of this doesn't mean there shouldn't be new terminal environments, especially as the computing landscape is completely different from when Bash or Zsh were created. Microsoft's PowerShell has become very popular, for example, especially on a Windows environment when dealing with platforms like .NET and Azure. And Nu Shell attempts to do the same thing for Linux. It's a new shell environment built around the old Unix philosophy of simple commands connected together, built using the modern Rust programming language to better work with a new generation of terminal users, and built to take advantage of data.
As it's built using Rust, Nu can be easily installed via Rust's cargo
package manager, which means it has great multiplatform support. With it installed, the first thing you're likely to do without even thinking about it is run ls
, and this is where the Nu's differences first become apparent. Rather than returning the simple file list you might be expecting, the results from ls
are returned in a formatted ASCII table, with separate columns for name, type, and size. This table output is the default for many of the built-in commands, including date
, ps
, and sys
. It's this structuring of data that makes Nu different from other shells. Nu Shell can parse this data as either simple types like integers, booleans, paths, and string, or more structured types, such as a table row, a binary file, lists, and even chunks of code. You can see this in action with the open
command, which is a viewer for various data formats. A YAML file is shown as a table, for instance, whereas a text file is simply displayed. Similarly, if Nu understands what constitutes a field within a file, or a field that has been delimited with a known character, those fields can be processed just as you might a single element of output.
To help with this data processing, Nu also includes an expanded pipeline. This works in three parts: an input, a filter, and the output. The excellent documentation includes an example that takes a TOML file as input and uses the filter to search and increment a version field before saving the output to a new file. There's also some great use of color. Command colors are different from argument colors, which are different from the values you may pass to a command. Pipes are colored differently too, and while the colors themselves will depend on your terminal's configuration, this differentiation makes commands easier to understand and helps you avoid mistakes. All of this is bound together with an intuitive autocomplete that helps you deal with the new syntax. It takes some time to learn, but Nu Shell is a great tool if you often find yourself constructing long lines in Bash to deal with esoteric output.
Project Website
Vim trainer
PacVim
Vim, the terminal-based text editor, has been around for a long time, but in all this time, its steep learning curve has never been associated with entertainment. PacVim almost manages to do this by turning Vim navigation keys into a challenging Pacman-like game that also happens to teach you how to navigate in the venerable editor. The whole game uses Curses to render each level into the terminal using characters, with bars and pipes for the tunnels and alphanumeric characters formed into words as their background. At first glance, these seem like little more than background decoration, but of course, they're not. You're supposed to use Vim's comprehensive word and character navigation keys to move as quickly as you can through the maze because your mission is to turn them all green while avoiding the red Gs that act as ghosts chasing you.
It's actually difficult to get started, because the game doesn't hold your hand or tell you how you might best approach each level. Much like the arcade game, you need to try different strategies while you slowly get better. Even though the game starts with only two ghosts chasing you, it's still hard. They move in real time, which means there's no pause when you don't press a key. You also have to avoid tilde symbols and the edge of the maze, as these will take one of your lives away, and the corridors themselves are often multiple characters wide, which means you need to move through every character. The only way to really beat the game is to master the Vim keys that move you through words and up columns quickly, which if you can master this means you've also mastered Vim.
Project Website
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.
-
ZorinOS 17.1 Released, Includes Improved Windows App Support
If you need or desire to run Windows applications on Linux, there's one distribution intent on making that easier for you and its new release further improves that feature.
-
Linux Market Share Surpasses 4% for the First Time
Look out Windows and macOS, Linux is on the rise and has even topped ChromeOS to become the fourth most widely used OS around the globe.
-
KDE’s Plasma 6 Officially Available
KDE’s Plasma 6.0 "Megarelease" has happened, and it's brimming with new features, polish, and performance.
-
Latest Version of Tails Unleashed
Tails 6.0 is based on Debian 12 and includes GNOME 43.
-
KDE Announces New Slimbook V with Plenty of Power and KDE’s Plasma 6
If you're a fan of KDE Plasma, you'll be thrilled to hear they've announced a new Slimbook with an AMD CPU and the latest version of KDE Plasma desktop.
-
Monthly Sponsorship Includes Early Access to elementary OS 8
If you want to get a glimpse of what's in the pipeline for elementary OS 8, just set up a monthly sponsorship to help fund its continued existence.