Run shell sessions within Atom Editor using term3
package.
Run Vim, Emacs, Htop, etc. in Atom.
It's based on pty.js
as shell spawner, and term.js
as xterm, with the power
of Atom Package environment.
Term3 is a fork and rebuilt version of Term2 package which was a fork of Term package.
This fork fixes some bugs in upstream including fixing the letter k. Term3 adds a terminal list above the treeview list. Term3 also adds a service API for other plugins, like Floobits, so you can pair on your terminals in addition to your code.
To install Term3
$ apm install term3
key binding | event | action |
---|---|---|
ctrl + alt + t |
term3:open |
Opens new terminal tab pane |
ctrl + alt + up |
term3:open-split-up |
Opens new terminal tab pane in up split |
ctrl + alt + right |
term3:open-split-right |
Opens new terminal tab pane in right split |
ctrl + alt + down |
term3:open-split-down |
Opens new terminal tab pane in down split |
ctrl + alt + left |
term3:open-split-left |
Opens new terminal tab pane in left split |
ctrl + k, t, t |
term3:open |
Opens new terminal tab pane |
ctrl + k, t, up |
term3:open-split-up |
Opens new terminal tab pane in up split |
ctrl + k, t, right |
term3:open-split-right |
Opens new terminal tab pane in right split |
ctrl + k, t, down |
term3:open-split-down |
Opens new terminal tab pane in down split |
ctrl + k, t, left |
term3:open-split-left |
Opens new terminal tab pane in left split |
cmd + k, t, t |
term3:open |
Opens new terminal tab pane |
cmd + k, t, up |
term3:open-split-up |
Opens new terminal tab pane in up split |
cmd + k, t, right |
term3:open-split-right |
Opens new terminal tab pane in right split |
cmd + k, t, down |
term3:open-split-down |
Opens new terminal tab pane in down split |
cmd + k, t, left |
term3:open-split-left |
Opens new terminal tab pane in left split |
ctrl + insert |
term3:copy |
Copy text (if ctrl + c is not working) |
shift + insert |
term3:paste |
Paste text (if ctrl + v is not working) |
You can customize Title with using some variables. These are the current variables you can use:
title variable | value |
---|---|
bashName |
Current Shell's name, (e.g. bash, zsh) |
hostName |
OS's host name |
platform |
Platform name, (e.g. darwin, linux) |
home |
Home path of current user |
Default version of title template is
Terminal ({{ bashName }})
config.cson
.Currently, you will need to adjust the colors in config.cson
(then you should be able to edit them in the package settings view).
You can add something like (please note the 2 examples of color format):
term3:
colors:
normalBlack: '#000'
normalRed:
red: 255
blue: 0
green: 0
alpha: 1
normalGreen: ...
normalYellow: ...
normalBlue: ...
normalPurple: ...
normalCyan: ...
normalWhite: ...
brightBlack: ...
brightRed: ...
brightGreen: ...
brightYellow: ...
brightBlue: ...
brightPurple: ...
brightCyan: ...
brightWhite: ...
background: ...
foreground: ...
It's a known $PATH
issue.
You are probably an OS X user (if not, let us know).
GUI app doesn't get /etc/paths
(and might come from /usr/local/bin
).
There is some workaround for OS X 10.9-, but OS X 10.10+ doesn't execute
/etc/launchd.conf
anymore.
So, in order to get the right PATH in atom-term3 context, you have this
solutions:
In your .(bash|zsh|*)rc
, add
export PATH=$(cat /etc/paths | xargs | tr " " :)
# or just hardcode your path like this
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
You can automatically call a command when you open a terminal to login
by
editing your Atom config:
term3:
autoRunCommand: 'login -f `whoami`'