Waves AI Terminal – Alternative to Windows Terminal
Waves Notes
split screen in two: click Terminal icon far right top
switch between sessions that can have multiple tabs; Top T1 or T2, can pin these
Delete and edit Workspace, click the green wave icon top left
https://docs.waveterm.dev/workspaces
Resize Pane: Press Alt + Shift + Arrow Keys
Windows Terminal Split Windows
Works in Powershell 7, WSL2 Linux windows.
Vertical Split: Press Alt + Shift + + (or =)
Horizontal Split: Press Alt + Shift + -
Close Pane: Press Ctrl + Shift + W
Move Focus: Press Alt + Arrow Keys
Resize Pane: Press Alt + Shift + Arrow Keys
Zoxide
A smarter, learning‑based directory jumper that remembers where you go and lets you hop there instantly with short queries. You can “jump” to them in just a few keystrokes. Instant shell jumps without opening a TUI. If you often think “jump to proj-api now” while staying in the prompt, zoxide is faster than launching Yazi. Zoxide works on all major shells.
zoxide query -l
zi <keyword>
(to see history list in Ubuntu, press up arrow)
zi -i
zoxide add .
zoxide remove <path>
fd
A fast, user‑friendly replacement for find that searches files and directories with simple syntax and honours .gitignore. Used with fzf. Turbo-fast file search that’s perfect in scripts/pipelines. Yazi can use fd for better search and ignoring rules, but fd stays valuable on its own for one-liners and automations.
My own custom functions for Powershell and Ubuntu.
| Command | What it does | Needs quotes for multi-word? | Why? | Includes hidden? |
|---|---|---|---|---|
| ff | Fuzzy find & open file (Opens file in $env:EDITOR & .PROFILE) | N/A (no arguments) | Just opens fuzzy finder | Yes |
| fd | Search files + folders | ✅ YES | Raw fd command | No |
| fz | Fuzzy find files + folders (CD if folder, open if file) | ❌ NO | Function handles spaces | Yes |
| fdir | Fuzzy find & CD to folder | ❌ NO | Function handles spaces | Yes |
| fh | Search files only | ✅ YES | Passes directly to fd | Yes |
| ffile | Search files only | ✅ YES | Passes directly to fd | No |
| fsearch | Search folders only (just lists) | ✅ YES | Passes directly to fd | Yes |
| fall | Search files + folders | ✅ YES | Passes directly to fd | Yes |
| Tool | Role | Does it change directories? | Does it open files? |
|---|---|---|---|
| fd | Search | ❌ No | ❌ No |
| fzf | Interactive filter | ❌ No | ❌ No |
| fdir function | Search + Filter + CD (uses fd, fzf and cd) | ✅ Yes | ❌ No |
| ff function | Search + Filter + Open (uses, fd, fzf and editor) | ❌ No | ✅ Yes |
fd <pattern>
fd -t f <pattern>
fd -t d <pattern>
fd -e md notes
fd -H <pattern>
fd -u <pattern>
fd -x rm {}
fzf
An interactive fuzzy finder that lets you filter and select items from any list (files, directories, history, git objects) right in your terminal. Great outside a file manager. It’s a universal picker for anything lists: git branches, command history, processes, Kubernetes contexts, etc. Yazi focuses on files/dirs; fzf powers quick inline pickers in scripts and one-liners.
fzf
fd | fzf
cd "$(fd -t d | fzf)"
fzf --height 80% --layout=reverse --border
fzf --multi --bind "ctrl-a:select-all,ctrl-d:deselect-all"
fzf --preview 'eza -lah --colour=always {} 2>/dev/null || ls -la {}'
fzf --ansi --header="Type to filter; Enter to open" --prompt="files> "
fzf --exact --nth=2.. --with-nth=2..
fzf -q initial
rg -n "TODO" | fzf --ansi
nano editor
^ = Ctrl
M = Alt
-----------------------------
^k = cut line w cursor at beginning of line
Alt, a Mark selection starting from the cursor position
arrows to select
Alt, u Undo the last operation
Alt, e Redo the last undone operation
^k = cut
Alt, 6 = copy
^u = paste
Yazi
A fast, Rust‑based terminal file manager with previews, tabs, and tight integrations with tools like fd, fzf, and zoxide. I reconfigured $PROFILE to start with ya instead of yazi. ya will enter last chosen file when quitting.
y or yazi to start
q to quit
yazi --cwd-file /tmp/yazi_cwd
arrow keys - navigation
f - filters, quickly narrow down list.
s - search, direct jump to a file. n to jump to the next match and N to jump to the previous one
g - menu, show size, modified date an commands, it's a toggle
# keys: h/j/k/l move, Enter or l open, Backspace or h up, Space select,
# gg top, G bottom, q quit, Q quit without writing cwd-file
Far Commander
Windows based 2 panel file manager like Norton Commander. Runs in Powershell. Has folder, file and command history. Slower than Yazi but more traditional UI and better deep searching, including subdirectories, file contents, better wildcards. Yazi is just faster if you are in the directory you want and have lots of files to search.
In Windows type:far
In Ubuntu type: far
tab: switch panels
Top menu: enable via F9 or click path at very top of screen, make always visible (Options > Interface Settings > Always show menu bar)
click path at top of screen on each panel to get help menus
Try different views:
full=single column w size,date,time, my preferred default
brief=3 columns for long lists,
medium=default 2 columns,
wide=single column, more space for long filenames & folder size,
detailed=temporarily full screen single column,
ignore others
File search: Alt F7, opens the find dialog to search files/folders by name/mask with options like subfolders and case
Folder history: Alt, F12, Search history, Ctrl, Alt,f
Document preview: Ctrl, q ; only previews text, can't preview images; F3 gives full screen view, F4 enters into Far Commander code editor, ignore, use my own external editors instead. Click Enter on a text file to open in Sublime Text.
Hide Panels: Ctrl, o (letter O), toggle hides panels temporarily to view terminal screen
Tree view: Alt, F10 (wait a second)
History (command history): Alt, F8 then Ctrl, Enter to choose and edit selected entry, enter launches in Windows. Ins, lock/unlock a history item. Shift, Del, deletes current history item. Search history, Ctrl, Alt,f
Drive Menu: Alt, F1 (shows on left menu), Alt F2 shows on right panel
TIP: Type in command line at bottom: use regular terminal commands like cd otherwise hitting results with enter will lauch in Windows
eza
A modern, colourful ls replacement with readable defaults, optional icons, tree view, and git‑aware columns. Shows what’s inside a folder fast.
eza
eza -l lists files in long format, permissions, owner, size, mod. date
eza --group-directories-first
eza -lah (includes 3 options, long format, a=show hidden files, h=help info)
eza -la --git
eza -T a tree view of directories and files, showing the hierarchy of the current directory recursively.
eza -T -L 2 a tree view limited to 2 levels of directory depth, showing only the top two levels of the hierarchy.
eza -lh --icons Lists files in long format (-l) with human-readable file sizes (-h) and shows icons next to files/directories (--icons, requires a Nerd Font).
less
What it does: Shows long output one screen at a time instead of flying past. Same command and keys in both WSL2 and PowerShell 7.
eza -lah | less
Keys inside less:
Space or PageDown → next page
b or PageUp → previous page
/text → search for “text”, then n / N to jump next/previous
g → top, G → bottom
q → quit and go back to the shell
autocorrect and edit bad commands
Autocorrect is same on both WSL2 (zsh’s built in setopt correct) and Powershell 7.
WSL2
type wrong command like sl (instead of ls)
a prompt will ask for (no, yes, abort, edit)
longer errors like: git statsu
after hitting enter by mistake
type fix, return in the next line. You can then edit the previous bad command. (done by a vared function in .zshrc)
Powershell 7
on zsh style sl to ls, use up arrow to recall last command, edit and enter. Ctrl+R → reverse history search: start typing part of an old command, press Ctrl+R again to cycle.
tldr
A community‑maintained set of simplified man pages that presents concise, practical examples for everyday commands. Get most used commands for programming languages, terminal commands.
tldr <command>
tldr --update
tldr fd
rg
ripgrep is a blazing‑fast code and text string searcher that honours ignore files and provides smart, ergonomic defaults.
rg "pattern" Searches for the specified pattern in files. No additional flags mean it uses default settings (case-sensitive, recursive search in current directory).
rg -n "pattern" Displays line numbers alongside matching lines.
rg -i "pattern" Performs a case-insensitive search, ignoring case differences in the pattern.
rg -S "pattern" (capital S) Smart case search, which is case-insensitive if the pattern is all lowercase, but case-sensitive if it contains any uppercase letters.
rg -w "word" Matches pattern as a whole word, ensuring it's bounded by non-word characters (e.g., spaces, punctuation).
rg -g "!node_modules" pattern Uses a glob pattern to exclude directories or files (example here, node_modules) from the search. The ! negates the glob, excluding matches.
rg -uu "pattern" Enables double unrestricted mode, which includes hidden files (dotfiles) and ignores all ignore files (e.g., .gitignore, .rgignore), effectively searching everything.
rg -C 3 "pattern" Shows 3 lines of context before and after each matching line (change number to adjust context lines displayed).
rg -l "pattern" (lower case L) Lists only the names of files containing matches, without showing the matching lines.
rg -F "literal text" Treats the pattern as a literal string, disabling regular expression interpretation (useful for searching exact text, including special characters).
rg "pat" -t md
Micro
Simple and easy to use text editor. Similar commands to most Windows editors. Better than nano.
Quick Nano notes: Ctrl, o=save, Ctrl, x = exit app, select section with mouse, Ctrl, g = help. Show line numbers toggle = Esc, then #.
f: micro
Command Prompt: Ctrl e
Cut, Copy, Paste: same as Windows, Ctrl x, c, v
Select all: Ctrl, a
Select with mouse: mouse drag
Cut entire line: Ctrl, k
Select text: Shift, arrow keys
Duplicate line: Ctrl, D
Navigation
Find: Ctrl, f
Find next: Ctrl, n
Find previous: Ctrl, p
Start of file: Ctrl, home
End of file: Ctrl, end
Jump by word: Ctrl, right/left key
Undo/Redo
Ctrl, z
Ctrl, y
Toggle line comment: Ctrl, /
Upper/Lower Case: Ctrl, u : toggle
Toggle line numbers: Ctrl, e, set ruler false/true, enter
jq
A powerful JSON processor for querying, transforming, and pretty‑printing JSON data on the command line.
jq . file.json
jq '.key' file.json
jq '.items[] | {id, name}' file.json
jq '.[0]' file.json
jq 'map(select(.active == true))' file.json
jq -r '.items[] | .name' file.json
jq 'add' numbers.json