5 ms·
For those not into the lingo, Tramp is the Emacs module/package responsible for allowing you to transparently work on remote files and host in your local editor
by josteink 1y ago
For those not into the lingo, Tramp is the Emacs module/package responsible for allowing you to transparently work on remote files and host in your local editor in a way I haven’t seen any other software do.
And yes, it’s really neat.
- sylens 1y agoThank you. I don’t know why more posts like this don’t spend a line or two providing that context
- jerf 1y agoBecause the author had no particular expectation this would be a #1 hit on HN.
- scbrg 1y agoSo, here's the first three sentences in the linked article: I recently changed jobs and found myself in a position where I would need to do a lot of work on remote machines. Since I am Emacs user, the most common way to do this is using TRAMP (Transparent Remote access, Multiple Protcol). TRAMP is an Emacs package that let’s you treat a remote host like a local system, similar to VSCode Remote Development Extension. Doesn't that provide context?
- celeritascelery 1y agoTo be fair, I added that after reading the parent comment. I did a poor job of describing what TRAMP was because I targeting this towards Emacs users.
- scbrg 1y agoAh! That explains my confusion. Thanks for clarifying, and my apologies to sylens. Great post, by the way!
- geocar 1y ago> in a way I haven’t seen any other software do. It was novel once upon a time, but almost every internetworked operating system supports network-transparent files. Even my iPhone can do it. Linux is a bit weird though: VIM has netrw which is very similar to Emacs; Gnome has a special VFS API that understands URIs, but only in the loosest possible sense of the word, and it can't work with autofs to "un-URI" something into a regular unix path, which is just sad. But if you don't care about that, autofs can make it possible to cd /net/{hostname} and get my home directory over ssh on another machine, and works much better than tramp IMO, even under Emacs.
- gray_-_wolf 1y agoThe thing is TRAMP also gives you a shell, not just a file access. When I am in a remote buffer, I can do M-x shell, and I will get a command line running on the remote host. What is more, since the T stands for Transparent, when I want to insert e.g. output of some command into a buffer, the command is executed on the remote host and I do not have to do anything special to achieve that, it just happens auto-magically based on the directory of current file (local vs. remote). I find that useful, and you cannot really do these things with a network drive on Windows.
- skydhash 1y agoIt's not only about transparent access. It's about how the whole emacs ecosystem working with the files. So you can bookmark a remote file, and once accessed, you can launch dired (the file manager) for the file's directory, run the shell on the remote,... with the same binding and mechanism you have for local files. No need to alter configuration or launch a special windows for the project.
- shadowgovt 1y agoIt is a very special piece of work. The closest I've seen is vscode remote editing (and credit where it's due: vscode remote editing is out of the box far more reliable and stable than Tramp... it better be, since it's running its own daemon on the remote machine), but Tramp is far more general-purpose than vscode's solution. Editing as another user, editing a remote file, even editing over embedded protocols like adb: Tramp's got you covered.