3 ms·
For the Emacs users, there's eshell - a Shell, implemented in Elisp with the common GNU tooling, but also with the option to hook into regular elisp functions.
by preek 9y ago
For the Emacs users, there's eshell - a Shell, implemented in Elisp with the common GNU tooling, but also with the option to hook into regular elisp functions. Pretty cool stuff!
- taeric 9y agoWith the major caveat that piping commands together doesn't work that well, eshell has been an amazingly useful feature of emacs for me. Combined with TRAMP support, it makes dealing with remote machines much much more friendly. As an example, "cd 'ssh:firstmachine|ssh:secondmachine:/'" works just like you would anticipate, bounces you through first machine to second machine. All commands from that point are executed as if you were on second machine. You can even run "shell" to drop to a more traditional shell at that point. Even better, "cp someFile ~/" will transmit a file back to my local machine so that I don't have to work with the scp commands that it requires. :)
- josteink 9y ago> Even better, "cp someFile ~/" will transmit a file back to my local machine so that I don't have to work with the scp commands that it requires. Did not know that. That’s a neat trick! Do feel free to share more if you have any :)
- taeric 9y agoDon't really have much else. I do have "M-x g" bound to "magit-status" so that as long as my PWD is in a repository, no matter if it is remote or not, I get my git status buffer. That didn't really require any setup, though. Magit already "does the right thing" if you are on a remote machine. I did have to add a lot to my tramp path. Can't remember why, right off. I just know that it helps find a lot of things that don't make the standard path for some reason.
- preek 9y agoSome time ago, I wrote a small blog post about that Tramp and remote editing files with eshell: http://200ok.ch/posts/edit-remote-files-with-emacs.html http://200ok.ch/posts/edit-remote-files-with-emacs.html
- username223 9y agoI want to like Eshell, but it's hard to get past the fact that it has existed for almost 20 years and still doesn't support basic input redirection. Modern shells like Fish and Zsh are far more polished and convenient command-lines.
- jhbadger 9y agoWhat I love about it is that elisp functions can either be called like lisp functions or as unix-style commands. For example: $ (defun sq (x) (* x x)) $ sq 5 25