git clone 'git://github.com/aki2o/e2wm-term.git'
This is a extension of Emacs that is a perspective of for work in terminal.
2014/10/09 It's available by using melpa.
2014/10/09 It's available. But, master branch only.
Download e2wm-term.el and put it on your load-path.
- In this case, you need to install each of the following dependency.
Backend means a kind of feature as terminal shown in main window.
When this perspective is started at first,
e2wm-term:default-backend is used ('shell in default).
For check available backend, do M-x
For the detail, do M-x
In default, the keystroke is
If you want to change it, add key to
e2wm-term:input-mode-map like the following.
(e2wm:add-keymap e2wm-term:input-mode-map '(("C-m" . e2wm-term:input-invoke-command) ) e2wm:prefix-key)
this perspective handles the command to show a help by the value of
t … always put the result into help window without the invocation in main window.
ask (default) … ask whether to put the result into help window.
nil … always invoke the command in main window.
e2wm-term:help-guess-regexp is used for a judgment of whether the command is a help command.
In default, the value matches the command includes “help” as a word like “git help status”.
Also, the command includes “–help” option always is handled as a help command.
While user input a command string in input window,
a help of the active command is shown in help window automatically by
A header of input window shows a current work directory of self.
A update of it is done by
For pager configuration in main window, use
Values of environment variables of
e2wm-term:command-pager-variables are replaced
e2wm-term:command-pager at a start of thie perspective.
For check all config items, do M-x
e2wm-term:dp or M-x
e2wm:pst-change-command then select
Input a invoked command string without a escape of linefeed even if it's multiline.
Then, push the key bound to
A terminal of active backend is shown in main window.
You are able to control the terminal in input window by the same key as the terminal key map.
comint-interrupt-subjob runs in main window by pushing
C-c C-c in input window.
- However, the
e2wm-term:input-mode-map keys are excepted
You are able to access command histories by the following keys.
C-c C-p /
prefix p ) … move to a previous history
C-c C-n /
prefix n ) … move to a next history
M-p ) … move to a previous history and past that into input window
M-n ) … move to a next history and past that into input window
prefix i ) … yank a current history
prefix g ) … grep histories
prefix a ) … show all histories ( for turn back from grep )
e2wm-term:help-mode, which is a major mode for help window, inherits
Then, for quit from help window, push
Also, there are the following keys to control a help window.
prefix h ) … toggle on/off of display of a help window
prefix H ) … toggle on/off of maximized of a help window
When the buffer of active backend is plural,
you are able to select them by
prefix t ).
In general, terminal uses a interactive program like “less” command
as the pager program which is used for a browse of long results of command.
But, such interactive program can not be controled from input window.
So, this perspective uses “cat” command, which is not a interactive program, as pager in default.
About that configuration, see “Pager” section in “Configuration” above.
A command termination, ( e.g. “;” in /bin/sh ), can be skipped in terminal like the following.
~$ for e in `ls` > do > echo $e > done
But, you have to input command with a command termination in input window like the following.
for e in `ls`; do echo $e; done