> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/sxyazi/yazi/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart Guide

> Learn Yazi basics in under 2 minutes - navigation, file operations, and essential keybindings

This guide will get you up and running with Yazi in under 2 minutes. Let's learn the essential operations!

## Launching Yazi

Open your terminal and run:

```bash theme={null}
yazi
```

Yazi opens in your current directory. You'll see a three-column layout:

* **Left column**: Parent directory
* **Center column**: Current directory (your files)
* **Right column**: Preview of selected file

<Info>
  **Tip**: Launch Yazi in a specific directory: `yazi /path/to/directory`
</Info>

## Basic Navigation

Yazi uses Vim-like keybindings for navigation:

<Steps>
  <Step title="Move Between Files">
    <CodeGroup>
      ```bash Up/Down theme={null}
      j  # Move down (next file)
      k  # Move up (previous file)
      ```

      ```bash Arrow Keys theme={null}
      ↓  # Move down
      ↑  # Move up
      ```
    </CodeGroup>

    The selected file is highlighted. The preview updates automatically.
  </Step>

  <Step title="Enter/Exit Directories">
    <CodeGroup>
      ```bash Left/Right theme={null}
      l  # Enter directory (go deeper)
      h  # Exit directory (go to parent)
      ```

      ```bash Arrow Keys theme={null}
      →  # Enter directory
      ←  # Exit to parent
      ```
    </CodeGroup>

    Navigate your file tree naturally - right to go deeper, left to go back.
  </Step>

  <Step title="Jump Around">
    ```bash theme={null}
    gg     # Go to top of file list
    G      # Go to bottom of file list

    Ctrl-u # Move up half page
    Ctrl-d # Move down half page

    Ctrl-b # Move up full page
    Ctrl-f # Move down full page
    ```
  </Step>
</Steps>

## Opening Files

There are multiple ways to open files:

<Tabs>
  <Tab title="Default Application">
    Open with the default system application:

    ```bash theme={null}
    Enter  # Open the selected file
    o      # Alternative: open file
    ```

    Yazi detects the file type and opens it with the appropriate application.
  </Tab>

  <Tab title="Interactive Selection">
    Choose which application to use:

    ```bash theme={null}
    O           # Open with application picker
    Shift-Enter # Alternative: interactive open
    ```

    A menu appears showing available applications for the file type.
  </Tab>
</Tabs>

## File Operations

Perform common file operations with simple keybindings:

<CardGroup cols={2}>
  <Card title="Copy Files" icon="copy">
    ```bash theme={null}
    # Yank (copy)
    y  # Copy selected file(s)
    p  # Paste in current directory
    P  # Paste (force overwrite)
    ```
  </Card>

  <Card title="Cut/Move Files" icon="scissors">
    ```bash theme={null}
    # Cut
    x  # Cut selected file(s)
    p  # Paste (moves files)
    ```
  </Card>

  <Card title="Delete Files" icon="trash">
    ```bash theme={null}
    # Delete
    d  # Move to trash
    D  # Permanently delete (careful!)
    ```
  </Card>

  <Card title="Create Files" icon="plus">
    ```bash theme={null}
    # Create
    a  # Create file/directory
       # End name with / for directory
    ```
  </Card>
</CardGroup>

## Selection

Select multiple files for batch operations:

<Tabs>
  <Tab title="Toggle Selection">
    ```bash theme={null}
    Space  # Toggle current file selection
           # Automatically moves to next file
    ```

    The selected files are highlighted. Repeat to select multiple files.
  </Tab>

  <Tab title="Visual Mode">
    ```bash theme={null}
    v      # Enter visual mode (selection mode)
    j/k    # Extend selection up/down
    Esc    # Exit visual mode
    ```

    Similar to Vim's visual mode - move the cursor to extend selection.
  </Tab>

  <Tab title="Select All">
    ```bash theme={null}
    Ctrl-a # Select all files
    Ctrl-r # Invert selection
    Esc    # Clear selection
    ```
  </Tab>
</Tabs>

## Search & Filter

Quickly find files:

<CodeGroup>
  ```bash Find in Current Directory theme={null}
  /       # Find files by name (forward)
  ?       # Find files by name (backward)
  n       # Jump to next match
  N       # Jump to previous match
  ```

  ```bash Filter Files theme={null}
  f       # Filter files in current directory
          # Only show matching files
  Esc     # Clear filter
  ```

  ```bash Search with External Tools theme={null}
  s       # Search by filename (fd)
  S       # Search by content (ripgrep)
  z       # Jump with fzf
  Z       # Jump with zoxide
  ```
</CodeGroup>

<Note>
  The external search tools (fd, ripgrep, fzf, zoxide) require separate installation. See [Installation](installation) for optional dependencies.
</Note>

## Working with Tabs

Yazi supports multiple tabs for working with different directories:

<Steps>
  <Step title="Create & Switch Tabs">
    ```bash theme={null}
    t t    # Create new tab in current directory
    1-9    # Switch to tab 1-9
    [      # Switch to previous tab
    ]      # Switch to next tab
    ```
  </Step>

  <Step title="Manage Tabs">
    ```bash theme={null}
    t r      # Rename current tab
    {        # Swap with previous tab
    }        # Swap with next tab
    Ctrl-c   # Close current tab
    ```
  </Step>
</Steps>

## Preview & Scrolling

The right panel shows a preview of the selected file:

```bash theme={null}
J    # Scroll preview down (5 lines)
K    # Scroll preview up (5 lines)

Tab  # Spot mode (detailed preview)
     # Press Tab again to close
```

**Preview supports**:

* Text files with syntax highlighting
* Images (in supported terminals)
* Videos (thumbnail)
* PDFs, archives, and more

## Additional Operations

<AccordionGroup>
  <Accordion title="Rename Files" icon="pen-to-square">
    ```bash theme={null}
    r    # Rename file (cursor before extension)
    ```

    * Opens an input prompt with the current filename
    * Cursor is positioned before the file extension
    * Type the new name and press Enter
    * For multiple files: select them first, then press `r` for bulk rename
  </Accordion>

  <Accordion title="Copy Path Information" icon="clipboard">
    ```bash theme={null}
    c c  # Copy file path
    c d  # Copy directory path
    c f  # Copy filename
    c n  # Copy filename without extension
    ```

    Useful for pasting file paths into other applications.
  </Accordion>

  <Accordion title="Hidden Files" icon="eye-slash">
    ```bash theme={null}
    .    # Toggle hidden files visibility
    ```

    Show or hide files starting with `.` (dot files).
  </Accordion>

  <Accordion title="Sorting" icon="arrow-down-a-z">
    ```bash theme={null}
    , m  # Sort by modified time
    , M  # Sort by modified time (reverse)
    , a  # Sort alphabetically
    , A  # Sort alphabetically (reverse)
    , s  # Sort by size
    , n  # Sort naturally
    ```

    Change how files are ordered in the list.
  </Accordion>

  <Accordion title="Shell Integration" icon="terminal">
    ```bash theme={null}
    ;    # Run shell command
    :    # Run shell command (wait for completion)
    ```

    Execute commands in your current directory:

    ```bash theme={null}
    ; git status        # Quick command
    : make install      # Wait for completion
    ```
  </Accordion>

  <Accordion title="Symlinks" icon="link">
    ```bash theme={null}
    -       # Create symlink (absolute path)
    _       # Create symlink (relative path)
    Ctrl--  # Create hardlink
    g f     # Follow symlink to target
    ```
  </Accordion>
</AccordionGroup>

## Help & Exit

<CodeGroup>
  ```bash Get Help theme={null}
  ~      # Open help menu
  F1     # Alternative: open help

  # In help menu:
  j/k    # Navigate
  f      # Filter help items
  Esc    # Close help
  ```

  ```bash Exit Yazi theme={null}
  q      # Quit Yazi
  Q      # Quit without saving last directory
  Ctrl-c # Close current tab (quit if last tab)
  ```
</CodeGroup>

## Quick Reference Card

Here's a handy reference for the most common operations:

<CardGroup cols={3}>
  <Card title="Navigation" icon="arrows-up-down-left-right">
    * `j/k` - Up/Down
    * `h/l` - Parent/Enter
    * `gg/G` - Top/Bottom
  </Card>

  <Card title="Files" icon="file">
    * `Enter` - Open
    * `a` - Create
    * `r` - Rename
    * `d` - Delete
  </Card>

  <Card title="Selection" icon="check-square">
    * `Space` - Toggle
    * `v` - Visual mode
    * `Ctrl-a` - Select all
  </Card>

  <Card title="Copy/Paste" icon="clipboard">
    * `y` - Yank (copy)
    * `x` - Cut
    * `p` - Paste
  </Card>

  <Card title="Search" icon="magnifying-glass">
    * `/` - Find
    * `f` - Filter
    * `s/S` - Search
  </Card>

  <Card title="System" icon="gear">
    * `;` - Shell
    * `~` - Help
    * `q` - Quit
  </Card>
</CardGroup>

## Example Workflow

Let's walk through a complete example:

<Steps>
  <Step title="Launch and Navigate">
    ```bash theme={null}
    yazi ~/Documents
    ```

    Opens Yazi in your Documents folder.
  </Step>

  <Step title="Find a File">
    ```bash theme={null}
    /report
    ```

    Type to find files containing "report". Press `n` to cycle through matches.
  </Step>

  <Step title="Select Multiple Files">
    ```bash theme={null}
    Space    # Select first file
    j        # Move down
    Space    # Select second file
    ```

    Or use visual mode: `v` then move with `j/k`.
  </Step>

  <Step title="Copy to Another Directory">
    ```bash theme={null}
    y         # Yank (copy) selected files
    h         # Go to parent directory
    l         # Enter a different directory
    p         # Paste files
    ```
  </Step>

  <Step title="Done!">
    ```bash theme={null}
    q         # Quit Yazi
    ```
  </Step>
</Steps>

## Tips for Productivity

<AccordionGroup>
  <Accordion title="Use Visual Mode for Quick Selection" icon="check-double">
    Instead of pressing Space multiple times:

    1. Press `v` to enter visual mode
    2. Use `j/k` to extend selection
    3. Perform operation (y, x, d, etc.)
    4. Press `Esc` to exit visual mode

    Much faster for selecting ranges of files!
  </Accordion>

  <Accordion title="Jump with Go Commands" icon="rocket">
    Quick navigation shortcuts:

    ```bash theme={null}
    g h    # Go to home directory (~)
    g c    # Go to ~/.config
    g d    # Go to ~/Downloads
    ```

    Add your own in the configuration!
  </Accordion>

  <Accordion title="Monitor Task Progress" icon="list-check">
    ```bash theme={null}
    w      # Open task manager
    ```

    When copying large files or running operations:

    * Press `w` to see task progress
    * `x` to cancel a task
    * `Enter` to inspect details
  </Accordion>

  <Accordion title="Integrate with Your Shell" icon="terminal">
    Use shell commands without leaving Yazi:

    ```bash theme={null}
    ; git add .               # Quick git commands
    : npm install             # Wait for completion
    ```

    The current directory is automatically set.
  </Accordion>
</AccordionGroup>

## Common Questions

<AccordionGroup>
  <Accordion title="How do I open files in my terminal editor?" icon="keyboard">
    Yazi respects your `$EDITOR` environment variable. Set it in your shell config:

    ```bash theme={null}
    export EDITOR=nvim    # or vim, nano, etc.
    ```

    Then text files will open in your preferred editor when you press Enter.
  </Accordion>

  <Accordion title="Can I change the keybindings?" icon="key">
    Yes! All keybindings are customizable. See the [Configuration](configuration/overview) guide.

    The default keymap is located at:

    ```
    ~/.config/yazi/keymap.toml
    ```
  </Accordion>

  <Accordion title="How do I see image previews?" icon="image">
    Image preview support depends on your terminal. Yazi has built-in support for:

    * kitty (Kitty graphics protocol)
    * iTerm2 (Inline images protocol)
    * WezTerm (Inline images protocol)
    * foot, Windows Terminal (Sixel)

    For other terminals, install Überzug++ or Chafa. See [Image Preview](features/image-preview) for setup.
  </Accordion>

  <Accordion title="What if I make a mistake?" icon="rotate-left">
    * Deleted files go to trash by default (press `d`)
    * Use `Y` or `X` to cancel a yank/cut operation
    * Press `Esc` to cancel selection or exit modes
    * Press `Ctrl-c` to cancel ongoing operations

    To permanently delete (skip trash), press `D` (capital D).
  </Accordion>
</AccordionGroup>

## Next Steps

Now that you know the basics, explore these topics:

<CardGroup cols={2}>
  <Card title="Configuration" icon="sliders" href="configuration/overview">
    Customize colors, behavior, and keybindings
  </Card>

  <Card title="Full Keybindings" icon="keyboard" href="usage/keybindings">
    Complete reference of all keyboard shortcuts
  </Card>

  <Card title="Plugin System" icon="puzzle-piece" href="plugins/overview">
    Extend Yazi with Lua plugins
  </Card>

  <Card title="Image Preview Setup" icon="image" href="features/image-preview">
    Configure image previews for your terminal
  </Card>
</CardGroup>

<Check>
  **You're ready to use Yazi!** Press `~` anytime in Yazi to see the help menu with all available commands.
</Check>
