Integrated Terminal
VMark includes a built-in terminal panel so you can run commands without leaving the editor.
Press Ctrl + ` to toggle the terminal panel.
Sessions
The terminal supports up to 5 concurrent sessions, each with its own shell process. A vertical tab bar on the right side shows numbered session tabs.
| Action | How |
|---|---|
| New session | Click the + button |
| Switch session | Click a tab number |
| Close session | Click the trash icon |
| Restart shell | Click the restart icon |
When you close the last session the panel hides but the session stays alive — reopen with Ctrl + ` and you are back where you left off. If a shell process exits, press any key to restart it.
Keyboard Shortcuts
These shortcuts work when the terminal panel is focused:
| Action | Shortcut |
|---|---|
| Copy | Mod + C (with selection) |
| Paste | Mod + V |
| Clear | Mod + K |
| Search | Mod + F |
| Toggle Terminal | Ctrl + ` |
TIP
Mod + C without a text selection sends SIGINT to the running process — the same as pressing Ctrl+C in a regular terminal.
Search
Press Mod + F to open the search bar. Type to search incrementally through the terminal buffer.
| Action | Shortcut |
|---|---|
| Next match | Enter |
| Previous match | Shift + Enter |
| Close search | Escape |
Context Menu
Right-click inside the terminal to access:
- Copy — copy selected text (disabled when nothing is selected)
- Paste — paste from clipboard into the shell
- Select All — select the entire terminal buffer
- Clear — clear visible output
Clickable Links
The terminal detects two kinds of links in command output:
- Web URLs — click to open in your default browser
- File paths — click to open the file in the editor (supports
:line:colsuffixes and relative paths resolved against the workspace root)
Shell Environment
VMark sets these environment variables in every terminal session:
| Variable | Value |
|---|---|
TERM_PROGRAM | vmark |
EDITOR | vmark |
VMARK_WORKSPACE | Workspace root path (when a folder is open) |
The shell is read from $SHELL (falls back to /bin/sh). The working directory starts at the workspace root, or the active file's parent directory, or $HOME.
When you open a workspace or file after the terminal is already running, all sessions automatically cd to the new workspace root.
Settings
Open Settings → Terminal to configure:
| Setting | Range | Default |
|---|---|---|
| Font Size | 10 – 24 px | 13 px |
| Line Height | 1.0 – 2.0 | 1.4 |
| Copy on Select | On / Off | On |
Changes apply immediately to all open sessions.
Persistence
Terminal panel visibility and height are saved and restored across hot-exit restarts. Shell processes themselves cannot be preserved — a fresh shell is spawned for each session on restart.