Yazi is good. Real good. I used it over ssh to cull a directory on my second system; it worked as I had hoped, except, perhaps, for color theming.
Knock on Wood.
Viewing/reviewing
One of the needs that yazi has fulfilled for me is rapid viewing. I can only imagine that should I ever be able to upgrade my current machines (RAM and CPU, as well as Storage), viewing would be even more friendly, especially for images. The ability to flip through a directory of images, mark, and move, copy, or delete marked files, has made a huge difference to my workflow. The only other tool that is useful in this regard is xnviewmp. I use a fairly simple set of commands; probably if I mastered tabs and other complexities and plugins, yazi would be even more helpful.
By the way, the terminal "kitty" has wonderful facilities built in to work well for viewing images. I prefer the black background and contrasty color scheme to any other.
Ranger was good enough, until it wasn't.
Copy, Paste and move and Notes on plugins.
[Cautionary note: I have lost files through carelessness here, and yazi has some gotchas to be navigated around.]
This is pretty much self-explanatory. I will try to address this topic in detail at some future time. For now, I'll mention a plugin that has helped speed these processes:
- yamb is a bookmarking plugin that works well. In the absence of a much needed multi-step backup command, this does a good job when sorting through files and moving or copying them to another directory. I have gotten around the mentioned limitation by defining bookmarks for the current from directory, and the currently interesting goto directory, I define a set of book marks to frequently used directories, as well. This is an easy tool to master. Like other plugins, issues have been experienced after updating yazi (it is under fairly intense development).
- toggle-pane: This helps when viewing both pdfs and images. It is possible to configure the mazimum size of displayed images (I'm not certain whether this works for pdfs) by putting this code into ~?.config/yazi/yazi.toml:
[preview]
# Change them to your desired values
max_width = 1800
max_height = 1800
Plugins are found on a resources link on yazi's web pages. Other sites exist with plubins.
Filtering
Filtering is a wonderful way to sort. It has been even more useful to me, because of a filenaming scheme I have adopted. I stole this idea from Protesilaos's Denote system. I have not found denote very useful, but the concept of tags at the end of the filename, before the extension has become a useful tool allowing me to sort files more rapidly. Here is an example.
Jones--2060--JargonInBiology__taxonomy_nomenclature_zoology.pdf
I have started avoiding underscores in filenames ("_") in favor of using them in tags. Interestingly, I saw a web page or thread somewhere about tagging styles, and this is one of several. I used to use a 10 (or so) character at the beginning of lines in a bibliography, where each position had a meaning. So anything related to crabs would have "c" in the third position (12ctx8urt-Anon-Crabs of the world) would be sorteable by sorting by the third position. The Unix (GNU/Linux) sort command worked excellently.
With filtering in yazi, one can narrow down a large folder/directory with pdfs about taxonomy: "_taxonom". Prot has demonstrated the use of regular expressions to sort even more specifically in, I think emacs dired. To avoid filtering for "_" in filenames, one would theoretically use a regular expression requiring a "__" (double underscore) somewhere before the "_:" single underscore. This is probably easy. Filtering is easier, I think. It may be that emacs would be better, but so far, aside from a couple of learning experiences, Yazi is working well.
Moving around
In either the getting started or tips section of the yazi main web pages, is a suggestion that makes yazi more useful.
Inserting this code into .bashrc (and I think .zshrc as well) makes things easy.
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
Then, when in a terminal, type "y" to start yazi. After moving to another directly, quitting with "q" leaves the terminal in this new directory.
A Caution or Two
Plugins are often not mutually compatible. I have tried several others, but some collided with these few i do use.
Some plugins iexplicably use keybindings that are assigned to other functions by default, and it is not always apparently what key bindings may be used. <F1> may display a help screen, which may be filtered. Filtering rocks. Bookmarks rock.
2025 May 19