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 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:

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 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.

ShellCanvas documentation