Zsh and two Go programs help with typing

Programming Snapshot – Zsh and Go

© Photo by Klim Musalimov on Unsplash

© Photo by Klim Musalimov on Unsplash

Article from Issue 302/2026
Author(s):

When typing in the shell, Mike Schilli would like a function that offers recently modified files in a terminal user interface and builds them into his commands. The Z shell and two Go programs do the trick.

How many times have you typed a command in the shell (e.g., cp) and wanted to use a file that is lying around somewhere as a parameter (e.g., a screenshot you recently saved in the Desktop/ directory)? Now, you could type ~/Desktop/ and try to find the latest file there using shell completion, but it's even easier using the file grabbers presented in this issue. While you're still typing, a character-oriented user interface (terminal user interface or TUI) pops up in response to a hotkey. It contains a list from which shell enthusiasts can select a file path without taking their fingers off the keyboard in order to seamlessly return to the now completed command line.

In Figure 1, the user types ls -lh and then wants to attach a file from the Desktop/ or Downloads/ folders as an argument. A short key press of Ctrl+R pops up the TUI shown in Figure 2. The user can now select one of the files on display using the cursor keys or the Vim commands (J for down; K for up). After pressing the Enter key, the shell transfers the file to the command line at the current cursor position as shown in Figure 3. The user can now continue typing, search for other files, or fire off the command by pressing Enter.

Figure 1: Adding a file at the command line.

[...]

Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Free Selection

    The photogrep GUI tool, built using Go and Fyne, is designed to filter photos just like the grep tool filters file names from a pipe.

  • GUI Apps with Fyne

    The Fyne toolkit offers a simple way to build native apps that work across multiple platforms. We show you how to build a to-do list app to demonstrate Fyne's power.

  • Treasure Map

    To help track down a particular photo, Mike Schilli often turns to his cellphone's geosearch function. Replicating this functionality with Go and Fyne turned out to be a trouble-free experience.

  • Wheat and Chaff

    If you want to keep only the good photos from your digital collection, you have to find and delete the fails. Mike Schilli writes a graphical application with Go and the Fyne framework to help you cull your photo library.

  • Straight to the Point

    With the Fyne framework, Go offers an easy-to-use graphical interface for all popular platforms. As a sample application, Mike uses an algorithm to draw arrows onto images.

comments powered by Disqus
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.

Learn More

News