Tramp User Manual

This file documents Tramp, a remote file editing package for Emacs.

Tramp stands for “Transparent Remote (file) Access, Multiple Protocol”. This package provides remote file editing, similar to Ange FTP.

The difference is that Ange FTP uses FTP to transfer files between the local and the remote host, whereas Tramp uses a combination of rsh and rcp or other work-alike programs, such as ssh/scp.

You can find the latest version of this document on the web at

The latest release of Tramp is available for download, or you may see Obtaining Tramp for more details, including the Git server details.

Tramp also has a Savannah Project Page.

There is a mailing list for Tramp, available at, and archived at the Tramp Mail Archive.

Overview What Tramp can and cannot do.
For the end user:
Obtaining Tramp How to obtain Tramp.
History History of Tramp.
Quick Start Guide Short introduction how to use Tramp.
Configuration Configuring Tramp for use.
Usage An overview of the operation of Tramp.
Bug Reports Reporting Bugs and Problems.
Frequently Asked Questions Questions and answers from the mailing list.
For the developer:
Files directories and localnames How file names, directories and localnames are mangled and managed.
Traces and Profiles How to Customize Traces.
GNU Free Documentation License The license for this documentation.
Function Index Tramp functions.
Variable Index User options and variables.
Concept Index An item for each concept.

Detailed Node Listing

Configuring Tramp for use
Connection types Types of connections to remote hosts.
Inline methods Inline methods.
External methods External methods.
GVFS based methods GVFS based external methods.
Default Method Selecting a default method.
Default User Selecting a default user.
Default Host Selecting a default host.
Multi-hops Connecting to a remote host using multiple hops.
Firewalls Passing firewalls.
Customizing Methods Using Non-Standard Methods.
Customizing Completion Selecting config files for user/host name completion.
Password handling Reusing passwords for several connections.
Connection caching Reusing connection related information.
Predefined connection information Setting own connection related information.
Remote programs How Tramp finds and uses programs on the remote host.
Remote shell setup Remote shell setup hints.
Android shell setup Android shell setup hints.
Auto-save and Backup Auto-save and Backup.
Windows setup hints Issues with Cygwin ssh.
Using Tramp
File name syntax Tramp file name conventions.
Change file name syntax Alternative file name syntax.
File name completion File name completion.
Ad-hoc multi-hops Declaring multiple hops in the file name.
Remote processes Integration with other Emacs packages.
Cleanup remote connections Cleanup remote connections.
How file names, directories and localnames are mangled and managed
Localname deconstruction Breaking a localname into its components.
External packages Integration with external Lisp packages.

Copyright © 1999–2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual”, and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License”.

(a) The FSF's Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”