Skip to content

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:

KeysAction
Ctrl+SSave
Ctrl+Shift+SSave As
Ctrl+FFind, with Enter for the next match and Esc to close
Ctrl+Z / Ctrl+Shift+ZUndo and redo, up to 50 steps
TabInsert 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.

ShellCanvas documentation