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 with file access. Reading needs file browsing; saving over an existing file additionally needs a server that supports SFTP's atomic rename extension, which OpenSSH provides.
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 writes the file back in three steps: it checks that the file on the server still matches what you opened, writes your text to a temporary file beside it, and then atomically replaces the original. Basic ownership and permission bits are preserved.
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.
- Saving over an existing file needs
[email protected]. On servers without it, reading, previewing and creating new files still work, and saving over an existing file is unavailable rather than attempted unsafely. - 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.