Edit and save remote files
The Editor opens a text file on the connected machine, keeps your draft safely on your computer while you work, and saves it back in a way that cannot silently overwrite someone else's change.
Prerequisites
A connected workspace whose file service offers text reading and saving. Full editing uses SFTP; the limited no-SFTP shell and RouterOS folder-browsing modes do not offer it. Atomic replacement uses the [email protected] extension when available.
Steps
Open a file
- From Files: Open in text editor on any text file, or New text file to start an empty draft in that folder.
- In the Editor: type a path into the field and choose Open, or use Browse remote files to pick one.
The Editor accepts regular UTF-8 text files up to 256 KiB. Binary content and special files are refused with an explanation rather than opened as gibberish. Line endings are detected and preserved: a file that uses CRLF throughout is saved with CRLF.
If your current draft has unsaved changes, opening another file asks first — Discard and open or Keep editing.
Edit
The toolbar has Undo, Redo, Find, Wrap, Reload, Save as and Copy all. The familiar keys work:
| Keys | Action |
|---|---|
| Ctrl+S | Save |
| Ctrl+Shift+S | Save As |
| Ctrl+F | Find, with Enter for the next match and Esc to close |
| Ctrl+Z / Ctrl+Shift+Z | Undo and redo, up to 50 steps |
| Tab | Insert your configured indent — two spaces, four spaces or a tab |
On macOS, Cmd works in place of Ctrl.
Save
Save first checks that the file on the server still matches what you opened. With [email protected], it writes a temporary sibling and atomically replaces the original while preserving basic ownership and permission bits. Without that extension, ShellCanvas warns that an interrupted save could leave a partial file; Save anyway authorizes one non-atomic attempt.
If the file changed in the meantime, the save is refused with CONFLICT: The remote file changed. Your draft is intact. Nothing is overwritten. Copy your text, Reload to see the current version, and merge deliberately.
Save as writes to a new name, and replacing an existing file is a separate, explicit confirmation — never a silent overwrite.
Watch the status line
The footer shows All changes saved, Unsaved changes, or what went wrong, and on the right: the line count, UTF-8, and LF or CRLF.
Expected result
Your draft is never lost by a failure on the other side. A refused save, a permission error or a dropped connection all keep the text exactly as you typed it, with a message saying so, and the Save button stays available for another try.
Limitations
- 256 KiB of UTF-8 text, regular files only.
- A non-atomic save needs explicit approval each time. On SFTP servers without
[email protected], Keep editing is the default. If you choose Save anyway, a connection failure can leave the remote file incomplete; the local draft remains available. - Conflict detection is optimistic, comparing content, owner, group and permissions. Another process can still change a file between the final check and the rename.
- Atomic replacement changes the file's inode. Hard links, ACLs, extended attributes and security labels are not preserved; basic UID, GID and mode are.
- Drafts live in memory. They survive workspace switches, disconnects and reconnects, but not quitting or a crash — there is no crash recovery yet.
- Drafts are never saved automatically. Saving is always an explicit action.
Related guides
- Browse and manage files — opening files and creating new ones.
- File, save and transfer problems — conflicts, permissions and unsupported servers.
- Appearance and app settings — editor text size, wrapping and indentation.
- Files API — the same read and save semantics for apps.