Volt
00000000

Guide

How to edit files on a server from your Mac

The file is on a server and the editing is on your Mac. The usual answers are an editor in the terminal, two rounds of scp with an edit in the middle, or a mounted share that hangs when the network does. Here is what each of them is good for, and what it looks like when the remote file is simply a window.

The four situations

You are logged in over SSH and you want to edit what you are looking at. In the terminal that is vi or nano. Volt ships a small command you run on the server — rmate config.yml — and the file opens in a window here, over the SSH session you already have. Saving sends it back.

You are here and the file is over there. File ▸ Open Remote… takes user@host:/etc/nginx.conf and puts the file in a window; ⌘S writes it back. It lists the directory as you type, because nobody knows the whole path past the first time, and it asks for a password once rather than once per command — with Remember in my keychain if you want it kept where every other password on the Mac is kept.

The host has no shell at all. Plenty of hosting is an FTP account and nothing else: a theme file on a shared host, a log on an appliance. File ▸ FTP… is a window with your servers down one side and their folders down the other, behaving like a Finder window — double-click a file to open it, ⌘S to send it back, and new folder, rename and delete on the right-click menu.

You want FTP’s convenience over SSH’s security. SFTP is the same window: a saved connection can be one over SSH, or an sftp:// link.

What a remote file behaves like

In every one of those cases the result is an ordinary window. The file arrives under its own name, so it is highlighted as what it is, indented by its language’s rules, formatted by your formatter and checked by your linter. Find, filters, multiple cursors, split view and undo work exactly as they do on a local file. A remote window comes back tomorrow, remembered by web1:/etc/nginx.conf rather than by a temporary path that will be gone.

The parts that usually go wrong

  • A save that half arrives. Volt writes beside the real file and moves it into place when every byte is there, so a connection that drops leaves the file that was there rather than half of a new one.
  • A machine that is not answering. Connections are given a limited time to start and to go quiet rather than holding the editor still, and a save that does not arrive says so instead of failing silently.
  • A password asked three times. Opening is more than one step, and being asked for each is how remote editing stops being used. You are asked once.
  • Not knowing what it is doing. The window is up the moment a file is asked for, with each step named as it happens — and the same while a save goes back.
  • Character sets and line endings. What comes back keeps the character set, the line endings and the final newline the file had, which is what makes remote editing of an old server’s files safe at all.

Saved connections

An FTP or SFTP connection is saved once: a name, the server, the port, the user, the folder to start in, plain FTP or FTP over TLS — explicit or implicit — and passive mode, which is the one that works from behind a router. The password goes to the login keychain rather than into a settings file, so renaming a connection never loses it. Folders are listed once and kept until you ask for a refresh, because each listing is a login and a round trip.

Versus mounting the server

A mounted share is convenient until the network is slow, at which point every application that touches it stops responding, including the Finder. Editing over SSH or FTP gives you one file at a time, fetched and sent deliberately, with a clear moment when the work is on the server.

Questions

Do I need to install anything on the server?

No, for Open Remote, FTP and SFTP. For editing from inside an SSH session you already have, there is one small script Volt writes out for you to put on the server.

Does it support FTP over TLS?

Yes — explicit and implicit, with passive mode, which is the mode that works from behind a router.

Where is my password kept?

In the login keychain, with every other password on your Mac, and only if you ask for it to be kept.

What happens if the connection drops while saving?

The file on the server is either the old one or the new one, never half of one: the save is written under its own name and moved into place once every byte is there.

Will my remote windows come back after a restart?

Yes, remembered by server and path rather than by the temporary copy here.

Is this a replacement for an FTP client?

For editing files, yes: browse, open, edit, save, rename, delete, new folder. For moving thousands of files around, a dedicated client is still the right tool.

Open a file on your server

Volt is in free beta. Download it now — no account, no sign-up — and try it on the file you have in mind. Each build runs for seven days, and every update gives another seven.

Download Volt for Mac

macOS 13 or later, Apple silicon. About 7 MB, signed and notarised. Everything it does · what changed in this build.

Related