Git Product home page Git Product logo

aweshell's Introduction

What is aweshell?

I created multi-term.el and use it many years.

Now I'm a big fans of eshell.

So I wrote aweshell.el to extend eshell with these features:

  1. Create and manage multiple eshell buffers.
  2. Add some useful commands, such as: clear buffer, toggle sudo etc.
  3. Display extra information and color like zsh, powered by `eshell-prompt-extras'
  4. Add Fish-like history autosuggestions.
  5. Validate and highlight command before post to eshell.
  6. Change buffer name by directory change.
  7. Add completions for git command.
  8. Fix error `command not found' in MacOS.
  9. Integrate `eshell-up'.
  10. Unpack archive file.
  11. Open file with alias e.
  12. Output "did you mean ..." helper when you typo.
  13. Make cat file with syntax highlight.
  14. Alert user when background process finished or aborted.
  15. Complete shell command arguments like IDE feeling.
  16. Dedicated shell window like IDE bottom terminal window.

Installation

Put aweshell.el, eshell-prompt-extras.el, exec-path-from-shell.el to your load-path. The load-path is usually ~/elisp/. It's set in your ~/.emacs like this:

(add-to-list 'load-path (expand-file-name "~/elisp"))
(require 'aweshell)

Bind your favorite key to functions:

aweshell-new
aweshell-next
aweshell-prev
aweshell-clear-buffer
aweshell-sudo-toggle
aweshell-switch-buffer
aweshell-dedicated-toggle
aweshell-dedicated-open
aweshell-dedicated-close

Customize

Customize variables below by:

M-x customize-group RET aweshell RET
aweshell-complete-selection-key
aweshell-clear-buffer-key
aweshell-sudo-toggle-key
aweshell-use-exec-path-from-shell
aweshell-dedicated-window-height

Customize prompt as directed in eshell-prompt-extras' README.

Dedicated window

You can use command aweshell-dedicated-toggle to pop dedicated window at bottom of frame.

Aliases

eshell-up

In alias file:

alias up eshell-up $1
alias pk eshell-up-peek $1

Other customization of eshell-up:

(setq eshell-up-ignore-case nil)
(setq eshell-up-print-parent-dir t)

FAQ

If you got error that random space insert, you perhaps need turn off aweshell-auto-suggestion-p with (setq aweshell-auto-suggestion-p nil), meantime auto suggestion feature will turn off.

aweshell's People

Contributors

manateelazycat avatar casouri avatar f4nyc avatar rcmerci avatar littlejianch avatar matthewzmd avatar ramsayleung avatar oneness avatar syohex avatar stebalien avatar kaiwk avatar cireu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.