shell-pop.el helps you to use shell easily on Emacs. Only one key action to work.
M-x package-install shell-pop
Make sure to place shell-pop.el somewhere in the load-path and add the following lines
to your init file(
(add-to-list 'load-path "somewhere") (require 'shell-pop)
M-x customize-variable RET shell-pop-shell-type RET to customize the shell to use. Four pre-set options are:
eshell. You can also set your custom shell if you use other configuration.
ansi-term options, you can set the underlying shell by customizing
shell-pop-term-shell. By default,
/bin/bash is used, but you can also use
/bin/zsh or others.
M-x customize-group RET shell-pop RET to set further options such as hotkey, window height and position.
You can get a full frame layout by setting
After saving the customized values, your .emacs file will be like as follows.
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(shell-pop-default-directory "/Users/kyagi/git") '(shell-pop-shell-type (quote ("ansi-term" "*ansi-term*" (lambda nil (ansi-term shell-pop-term-shell))))) '(shell-pop-term-shell "/bin/bash") '(shell-pop-universal-key "C-t") '(shell-pop-window-size 30) '(shell-pop-full-span t) '(shell-pop-window-position "bottom"))
Position of popup window. You can choose
Use entire frame when this value is
Percentage for shell-buffer window size.
This option allows you to generate the shell window with the same width as the current Emacs frame. It is beneficial when you are always using multiple windows on Emacs. In detail, see https://github.com/kyagi/shell-pop-el/pull/21#issuecomment-48876673
This hook runs before shell buffer pop-up.
This hook runs before shell buffer pop-out.
Just hit the hot key you customized for
C-t for the above case.
You can have multiple shell buffers if you run shell-pop with universal-arguments.
C-u 2 C-t. You can increase the number(
4, ...) as much as you want for different shell buffers.