| example | ||
| lib | ||
| src | ||
| test | ||
| .gitignore | ||
| .npmignore | ||
| index.js | ||
| LICENSE | ||
| Makefile | ||
| package.json | ||
| README.md | ||
term.js
A full xterm clone written in javascript. Used by tty.js.
Example
Server:
var term = require('term.js');
app.use(term.middleware());
...
Client:
window.addEventListener('load', function() {
  var socket = io.connect();
  socket.on('connect', function() {
    var term = new Terminal({
      cols: 80,
      rows: 24,
      screenKeys: true
    });
    term.on('data', function(data) {
      socket.emit('data', data);
    });
    term.on('title', function(title) {
      document.title = title;
    });
    term.open(document.body);
    term.write('\x1b[31mWelcome to term.js!\x1b[m\r\n');
    socket.on('data', function(data) {
      term.write(data);
    });
    socket.on('disconnect', function() {
      term.destroy();
    });
  });
}, false);
Tmux-like
While term.js has always supported copy/paste using the mouse, it now also supports several keyboard based solutions for copy/paste.
term.js includes a tmux-like selection mode (enabled with the screenKeys
option) which makes copy and paste very simple. Ctrl-A enters prefix mode,
from here you can type Ctrl-V to paste. Press [ in prefix mode to enter
selection mode. To select text press v (or space) to enter visual mode, use
hjkl to navigate and create a selection, and press Ctrl-C to copy.
Ctrl-C (in visual mode) and Ctrl-V (in prefix mode) should work in any OS
for copy and paste. y (in visual mode) will work for copying only on X11
systems. It will copy to the primary selection.
Note: Ctrl-C will also work in prefix mode for the regular OS/browser
selection. If you want to select text with your mouse and copy it to the
clipboard, simply select the text and type Ctrl-A + Ctrl-C, and
Ctrl-A + Ctrl-V to paste it.
For mac users: consider Ctrl to be Command/Apple above.
License
Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
