# Skink quick start: open files and the keys you need

> Get going with Skink in five minutes: open a file, a folder or file:line:col, learn the ten keys you need, use the mouse, and find help in the command line.

Source: https://skink.cc/start/quick-start/

Run `skink` with a file or a folder, then type: there are no modes. Ctrl+S saves, Ctrl+Q closes the tab, and Ctrl+E opens the command line, where `help` explains everything else.

If you have used Micro, VS Code or nano, most keys already do what you expect. Skink uses Micro's default bindings.

## Open a file or folder

```sh
skink                    # empty scratch buffer
skink src/main.rs        # open a file
skink src/main.rs:42     # open it at line 42
skink src/main.rs:42:7   # line 42, column 7
skink .                  # open a folder: file tree on the left
```

The `path:line:col` form matches what compilers and `grep -n` print. You can paste a location straight from an error message.

### Pick up where you left off

Running plain `skink` inside a project reopens the files, splits and shells you had when you last quit there. A project is a folder with `.git`, `Cargo.toml`, `package.json`, `go.mod`, `pyproject.toml` or `build.zig`.

See [Sessions and folding](https://skink.cc/editing/sessions-and-folding/).

### Open more files from inside the editor

| Key | Does |
|---|---|
| Ctrl+O | Open a file or folder by path |
| Alt+P (or `:recent`) | Quick open: open tabs first, then recent files, then every file in the project |
| Ctrl+T | New empty tab |

In quick open, type a few letters of the name.

## The ten keys you need

| Key | Does |
|---|---|
| Ctrl+S | Save |
| Ctrl+Q | Close the tab (quits on the last file tab) |
| Ctrl+Z / Ctrl+Y | Undo / redo |
| Ctrl+C / Ctrl+X / Ctrl+V | Copy / cut / paste (no selection: the whole line) |
| Ctrl+F | Find in the file (Ctrl+N / Ctrl+P next / previous match) |
| Ctrl+L | Go to line |
| Alt+P | Quick open (or type `:recent`) |
| Ctrl+E | Command line |
| F8 | File tree (show it, move focus, go back) |
| F12 | Jump between your file and a terminal tab |

Ctrl+P is Find previous, as in Micro, not quick open.

### A few more that pay off quickly

| Key | Typed command | Does |
|---|---|---|
| Shift+arrows | | Select |
| Ctrl+A | `:selectall` | Select all |
| Alt+↑ / Alt+↓ | `:moveup` / `:movedown` | Move lines up / down |
| Ctrl+D | `:addcursor` | Select the word, again for a cursor at the next match |
| Alt+/ | `:comment` | Comment / uncomment lines |
| Alt+1 … Alt+9 | | Jump to tab N |
| F1 | `:palette` | Command palette: every action and command |

Why every key has a typed command: [Every key has a typed command](https://skink.cc/editing/typed-commands/).

The full list is in [Keyboard shortcuts](https://skink.cc/reference/shortcuts/).

## The mouse works

Click to place the cursor, drag to select, scroll with the wheel. Alt+click adds another cursor.

Click a tab to switch to it. Click its `x`, or middle-click it, to close it.

More in [Mouse and trackpad](https://skink.cc/editing/mouse-and-trackpad/).

## The command line

Press Ctrl+E and type a command. The command line already shows the `:` these docs write, so you type only the name.

A few to start with:

| Command | Does |
|---|---|
| `:help` | The built-in manual in a tab. `:help tabs` or `:help settings` jump to a topic |
| `:goto 120` | Jump to line 120 |
| `:open PATH` | Open a file or folder |
| `:term` | A new terminal tab (`:term claude` runs a program in it) |
| `:run CMD` | Run a shell command, output in a tab |
| `:settings` | Open `settings.json` |

Tab completes command names and paths, ↑ / ↓ browse history, Esc cancels.

Any editor action can be run by name too, for example `:SelectAll` or `:Save`. All commands are listed in [Commands](https://skink.cc/reference/commands/).

## Everything is a tab

Skink has one tab bar for everything: files, terminals, the help manual, command output, git diffs, merge conflicts and your settings. Nothing opens a window you have to dismiss.

| Key | Does |
|---|---|
| Shift+F12 | Open a terminal tab. It is a real terminal emulator, so shells, `htop` and AI CLIs run unchanged |
| F12 | Flip between your file and your terminal |
| Ctrl+PageUp / Ctrl+PageDown | Previous / next tab |

Opening the same view twice (say, `:help`) reuses its tab.

**Tip:**
Skink is alpha. It is a real editor you can write code in today, but some pieces are still missing. If something looks wrong, the [manual](https://skink.cc/reference/manual/) is the most complete description of what exists now.

## Where next

- [Every key has a typed command](https://skink.cc/editing/typed-commands/)
- [How to exit Skink](https://skink.cc/start/exit-skink/)
- [Configuration](https://skink.cc/customize/configuration/): settings and key bindings
- [Terminal tabs](https://skink.cc/tools/terminal-tabs/)
- [AI agents](https://skink.cc/tools/ai-agents/)
- [Code intelligence](https://skink.cc/code/code-intelligence/): completion, go to definition, rename
