Lugaru's Epsilon Programmer's Editor 14b7
Context:
|
Epsilon User's Manual and Reference > Commands by Topic > Buffers and Files > Internet Support > Secure Shell and SCP SupportBesides recognizing ftp:// URLs as described in the previous section, Epsilon also recognizes scp:// URLs, which may be used for secure file transfers. With scp support, you can read or write files using an scp:// URL, navigate the remote system's directory tree using dired, mark files for copying between the local and remote systems, use grep or file-query-replace to search and replace on multiple remote files, and use file name completion.
Epsilon also recognizes ssh:// URLs to connect securely to a command
shell on a remote computer, providing a secure alternative to the
telnet command. Epsilon's ssh command works similarly
to the ssh:// URL. Use the syntax
The scp and ssh features work by running certain external programs
which must be installed. Epsilon's ssh command depends on an
external
With scp/ssh support, Epsilon doesn't remember your
password or passphrase. Epsilon will ask for it each time it must
start a new Customization Options for Alternative Clients
If you're not using the usual external
The variable ssh-template tells Epsilon how to build a command
line for invoking the external ssh program when a specific user name
appears before the host name. If no user name was specified, it uses
ssh-no-user-template. See the descriptions of these variables
for their format. There are also numerous variables whose names start
with
Some very old sftp programs use a different command syntax for listing
files; if you have trouble, try setting the scp-client-style
variable to Windows-specific Configuration Options
As explained above, using an To make Epsilon work with the Windows ssh client PuTTY instead of the recommended Cygwin clients, use these settings:
Be sure to install PuTTY's Per-System Settings
It's possible to set up Epsilon to use one set of variables for one
remote system and a different one for others. To enable this, before
checking for a variable such as scp-run-helper-template, Epsilon
constructs a new variable name by adding the host name of the remote
system to its end. For instance, if you try to access
www.example.com, Epsilon first looks for a variable named
File Prompts in Ssh and Telnet buffers When you're edting a local file, commands like find-file prompt, by default, with that file's directory name, so you can easily edit another file in that same directory. Begin typing an absolute pathname to another directory, and the old directory name is automatically deleted. In the same way, when you use commands like find-file from an ssh or telnet buffer, Epsilon prompts with a corresponding scp: URL so you can access files on that same system, and in your current directory on that remote system. This feature requires Epsilon to parse the prompts coming from the remote system, in order to know what directory you're using. Out of the box, it's designed to work with some typical prompts you might get when connecting to a remote Unix-like system. You can configure it, though, on a per-host basis.
Epsilon uses the net-prompt-pattern variable to match a prompt
that contains a directory name. The default setting works with a
typical Unix shell prompt setting (PS1) like Alternatively, you can change your prompt to include a special sequence of characters at the end containing your current directory, which Epsilon will notice and remove. This is how Epsilon's concurrent process retrieves current directory information on Unix-based systems, and it's more reliable because it avoids shell settings that might abbreviate the full working directory when it's long. Epsilon includes scripts named epsilon.sh and epsilon.csh (for Bourne-style and Csh-style shells) to accomplish this, so you could configure your remote system's login script to run them only for remote connections (by checking the TERM environment variable, for example). If your connection to a Unix-based host sets the TERM variable to something other than "dumb", you may see odd line breaks in echoed text. A command like "stty columns 65000" should prevent that, and again, this can be done conditionally in the remote system's login script.
You can set up a separate net-prompt-pattern variable for each
host you use, by defining a variable with a name like
You can configure various aspects of remote directory retrieval by
setting bits in the net-prompt-get-directory variable. Like
other net variables, you can create host-specific versions of the
variable. Omit the Using Ancient Hosts If you must use a very old version of ssh that lacks an sftp program, or connect to a system that doesn't support sftp, or you want to use an ssh replacement that lacks sftp, it's possible to set up Epsilon to run its own helper program on the remote system.
To do this, copy the C language source code file
It should print a greeting line and await a command. Type ^C or press
<Enter> to make it exit. You may need to edit the Epsilon
variable scp-run-helper-template to include the path to the
helper program, or if you use a different ssh program. For instance,
if you use an ssh client "oldssh" that lacks an sftp program, set it
to "
To tell Epsilon to use epsilon-xfer-helper commands, not sftp
commands, set the scp-client-style variable to When you don't use sftp, Epsilon must run a separate program for each file transfer. By default it uses the scp program. The variable scp-read-file-template tells Epsilon how to transfer a file from the remote system to a local file, and scp-write-file-template does the opposite. There are separate versions of these variables for when no user name is included, named scp-read-file-no-user-template and scp-write-file-no-user-template. Change these variables to use a different program for copying files when you don't use sftp.
|