Neale Pickett 4c83565c1c | ||
---|---|---|
README.md | ||
neale-comint-edit.el | ||
neale-ssh.el |
README.md
What This Is
It's a lightweight SSH mode for Emacs. I used this a whole lot at my last job, which required me bouncing through lots of hops to get to a destination. Other SSH modes were failing me here, unable to keep up with dirtrack and other things. I just wanted a slim comint wrapper.
Put another way:
I like Plan 9's acme
.
If you like Plan 9's acme
, you might enjoy this.
Why You Should Use This
- You have to use strange SSH implementations like like HP iLOs
- You could benefit from a client that bunches up input by line (for instance, you have a high-latency connection and hate being 20 keystrokes ahead of what's echoed back)
- You need an SSH implementation for Emacs that's fully debugged with putty on Windows
- You'd like to have a working
dabbrev-expand
(M-/
) in your shell sessions - You think it would be nice to have instant search over your entire session, even if it spans multiple hosts
- You're a weirdo
- You're a fan of
cmd
inacme
Why You Should Not Use This
- You rely heavily on tab completion and can't switch to
dabbrev-expand
(M-/
) - You use lots of things that absolutely require a terminal emulator (like Nethack or irssi)
- You love using
more
andless
more than you love usingcat
and Emacs built-in navigation
How To Use This
Drop it somewhere that you can load it up. Then, in your emacs initialization file:
(load "neale-ssh.el")
(setq ssh/default-host "woozle.org")
(setq ssh/frequent-hosts '("woozle.org" "zork.net"))
Things I've Found Useful
Using plink
/putty
I have to work in Windows sometimes,
which means I'm using plink.exe
.
I created an "emacs" profile in putty
that has everything set up the way I want for plink
.
Then I tell emacs to use it:
(setq ssh-explicit-args (if (eq system-type 'windows-nt) '("-load" "emacs") '()))
Editing Remote Files
At some point after starting to use this, you are going to find yourself wanting to edit a remote file, and then you are going to scratch your head.
You could use cat filename
,
edit the text straight up in the ssh buffer,
then cat > filename
to write it back out.
I've been using ed
a lot,
which combined with emacs editing isn't too bad
(but also not fantastic).
A New Hope For Remote File Editing
I've been trying to get some key bindings set up that will:
- Dump the remote file
- Capture the dump in a new buffer
- Bind something in the new buffer to send a
cat > $original_filename
command and dump the output
But I'm having quite a bit of trouble with Emacs dropping characters for some reason. If you're interested in helping, have a look at neale-comint-edit.el and see what you can twiddle out of it.