Complete Guide to Dvorak Keyboard + Vim Logic + Yazi File Manager

While configuring the Yazi file manager, I realized I wasn’t familiar with Vim terminology (yank/paste/visual mode). As a Dvorak keyboard user, I also needed to understand how keyboard layouts affect terminal tools. This article is my complete guide.


Part 1: What is the Dvorak Keyboard Layout?

Background

Most people use the QWERTY layout (look at the first six letters in the top left of your keyboard). QWERTY was designed in 1873 for typewriters, with the goal of reducing mechanical jams, not typing efficiency.

Dvorak (invented by August Dvorak in 1936) is a keyboard layout optimized for typing efficiency and ergonomics:

  • The most commonly used letters are placed on the home row, so fingers don’t need to move frequently
  • Vowels (A, O, E, U, I) are on the left hand’s home row
  • Common consonants (D, H, T, N, S) are on the right hand’s home row
  • Theoretically, 70% of English typing happens on the home row (QWERTY only achieves 32%)

QWERTY vs Dvorak Comparison

QWERTY:
  Q W E R T Y U I O P
  A S D F G H J K L ;
  Z X C V B N M , . /

Dvorak:
  ' , . P Y F G C R L
  A O E U I D H T N S
  ; Q J K X B M W V Z

Impact on Terminal Tools

Key point: Vim/Yazi shortcuts are designed by letter meaning, not physical position.

  • j = down, k = up — these are in completely different physical positions on Dvorak compared to QWERTY
  • But since you’re pressing the letter j/k (regardless of where it is on the keyboard), the function is the same
  • macOS keyboard settings handle the mapping, so you just need to remember the letters

Option Key Configuration

In Ghostty configuration, macos-option-as-alt = left makes the left Option key work as Alt (for tmux/vim), while the right Option preserves German special character input. This is compatible with Dvorak.


Part 2: Vim Operation Logic (Yazi Inherits This System)

All Yazi shortcuts come from Vim editor’s operational philosophy. Understanding Vim’s logic means understanding Yazi.

2.1 Vim’s Core Concept: Verb + Noun

Vim isn’t “press one key to do one thing” — it’s combined commands:

action(verb) + object(noun) = operation

Examples:

  • d (delete) + w (word) = delete one word
  • y (yank) + 3j (3 lines down) = copy 3 lines

2.2 Modes

Vim has multiple modes, and Yazi inherits some of them:

ModeIn VimIn Yazi
NormalDefault mode, execute commandsDefault mode, browse files
InsertInput textN/A (Yazi doesn’t edit files)
VisualSelect text regionsPress v to enter, use arrow keys to select multiple files
CommandCommands starting with :N/A

2.3 Vim Terminology → Yazi Reference Table

This is the most important part. Vim has its own terminology, different from everyday language:

Vim TermCommon TermYazi FunctionKey
yankCopy (Ctrl+C)Mark files for copyingy
unyankCancel copyClear copy marksY
cutCut (Ctrl+X)Mark files for movingx
pastePaste (Ctrl+V)Execute copy/move to current directoryp
delete/removeDeleteMove to trashd
toggleSelect/deselectMark file (for multi-select)Space
visual modeBatch selectEnter continuous selection modev
escapeCancelCancel selection/search/filterEsc

2.4 Why “yank” Instead of “copy”?

Historical reason: When vi (Vim’s predecessor, 1976) was designed, c was already used for the “change” command. So y (yank = pull forcefully) was used for copy. This terminology has persisted.

2.5 Yank vs Select (Easily Confused)

OperationKeyEffectTop-right DisplayCancel Method
SelectSpaceMark file (blue highlight) for batch operationsNumber (white)Esc
Yank (copy)yMark files for copying to another directoryNumber (green)Y
CutxMark files for moving to another directoryNumber (red)Y

Workflow example — copying 3 files to another directory:

  1. Space to select the first file
  2. j to move to next
  3. Space to select the second file
  4. j to move again
  5. Space to select the third file
  6. y to yank (copy mark) all selected files
  7. Navigate to target directory (h to go up, l to enter subdirectory)
  8. p to paste (actually perform the file copy)

Part 3: Complete Yazi Operation Manual

3.1 Navigation

KeyFunctionMnemonic
jMove down one linej’s tail points down
kMove up one linek’s head points up
JMove down 5 linesUppercase = faster
KMove up 5 linesUppercase = faster
l or EnterEnter directory / Open filel = right (enter)
hGo to parent directoryh = left (back)
g gJump to top of listgo to top
GJump to bottom of listGo to bottom

3.2 Search and Filter

KeyFunction
/Filter current directory (enter keywords, show only matching files)
sSearch filenames (using fd, across subdirectories)
SSearch file contents (using ripgrep)
fFind, incrementally jump to matching file

3.3 File Operations

KeyFunctionNotes
yCopy (yank) fileJust marks, doesn’t copy yet
YCancel copy mark (unyank)
xCut fileJust marks, doesn’t move yet
pPaste (execute copy/move)Press after navigating to target
dDelete (move to trash)Shows confirmation
DPermanently deleteDangerous! Cannot recover
aCreate new file/directoryName ending with / = directory
rRename
SpaceSelect/deselectSelect before batch operations

3.4 Preview and View

KeyFunction
TabOpen Spot (detailed info panel)
Arrow keys or J/K (in preview)Scroll preview content
.Show/hide hidden files

3.5 Custom Quick Navigation

KeyDirectory
~Home directory
g p~/Projects_WSL
g d~/Downloads
g b~/Blog
g s~/secretary

3.6 Tabs

KeyFunction
tNew tab
1-9Switch to tab N
[ / ]Previous/next tab

3.7 Copy File Path (Not the File Itself)

Key SequenceCopies
c cFull file path
c dDirectory path
c fFilename
c nFilename (without extension)

3.8 Sorting

Key SequenceSort By
, mModification time
, sSize
, aAlphabetical
, nNatural sort
, eExtension

Part 4: Ghostty Split Screen Operations

ShortcutFunction
Cmd+DNew split on right
Cmd+Shift+DNew split below
Cmd+Left/Right/Up/DownSwitch focus between splits
Cmd+Shift+HExpand current split left
Cmd+Shift+LExpand current split right
Cmd+Shift+FFullscreen/restore current split
Cmd+Shift+,Hot reload configuration

Part 5: Common Pitfalls and Confusion Points

5.1 Escape Doesn’t Clear Yank

Escape only clears: selection (Space), search, filter, Visual mode. To clear yank, you must use Y (uppercase).

5.2 y Doesn’t Copy Immediately

y only “marks” — the actual copy happens when you press p. This is different from Finder (where Cmd+C also marks, but feels like “immediate copy”).

5.3 hjkl Directions

    k (up)
h (left)   l (right)
    j (down)

Mnemonic: j looks like a downward arrow (j’s tail curves down).

5.4 Configuration File Notes

  • Yazi v26.x config section name is [mgr], not the old [manager]
  • sort_by value is "mtime", not "modified"
  • Config errors cause the entire file to silently fail — use yazi --debug to diagnose
  • After modifying config, exit Yazi (q) and re-enter for changes to take effect

Part 6: Daily Workflow Quick Reference

Browsing Project Files

y → Cmd+D split → Left side Yazi browsing → Right side Claude Code working
Cmd+Left/Right to switch between sides

Finding and Opening a File

s → enter filename → Enter to jump to file → Enter to open

Copying Files to Another Directory

Space to select files → y to mark copy → navigate to target → p to paste

Viewing and Copying File Path

c c → path copied to clipboard

Quick Jump to Common Directories

g p → Projects   g b → Blog   g s → Secretary   ~ → Home

Notes

  • Yazi supports image preview in Ghostty (Kitty graphics protocol)
  • Yazi built-in help: press ? or F1 in Yazi to see all shortcuts
  • Yazi config directory: ~/.config/yazi/
  • Ghostty config: ~/.config/ghostty/config

If you found this helpful, consider buying me a coffee to support more content like this.

Buy me a coffee