term.js

A terminal written in javascript.

  • Owner: chjj/term.js
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

term.js

A full xterm clone written in javascript. Used by
tty.js.

⚠️ This project is no longer maintained ⚠️. For a maintained fork take a look at sourcelair/xterm.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.

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code
to be distributed under the MIT license. You are also implicitly verifying that
all code is your original work. </legalese>

License

Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)

Main metrics

Overview
Name With Ownerchjj/term.js
Primary LanguageJavaScript
Program languageMakefile (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2013-08-08 14:32:09
Pushed At2024-03-25 20:44:31
Last Commit At2016-06-06 14:44:20
Release Count7
Last Release Namev0.0.7 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count1.6k
Watchers Count51
Fork Count338
Commits Count99
Has Issues Enabled
Issues Count66
Issue Open Count50
Pull Requests Count14
Pull Requests Open Count34
Pull Requests Close Count18
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private