1

我想知道如何在终端输出中显示文本文件的内容,因为我不知道如何去做。我希望它像“更多[文件名]”一样工作这些文件将与 html 脚本位于同一目录中。

这是我当前的代码*: http: //pastebin.com/iN4AXUs9

*我使用了 pastebin,因为我在这里粘贴时格式混乱。

谢谢

4

1 回答 1

0

尝试:

var c = $.terminal.splitCommand(cmd);
if (c.name == "more") {
    $.get(c.args[0], function(file) {
        term.echo(file);
    });
}

它将一次性显示整个文件,如果您想要类似于更多命令的内容,则需要将文件拆分为页面。也许是这样的:

     var export_data = term.export_view();
     $.get(c.args[0], function(file) {
        var i = 0;
        var lines = file.split('\n');
        term.clear().echo(lines.slice(i, i+term.rows()).join('\n'));
        term.push($.noop, {
            keydown: function(e) {
                if (e.which == 32) {
                    i++;
                    term.clear().echo(lines.slice(i, i+term.rows()).join('\n'));
                } else if (e.which == 27) {
                    term.pop().import_view(export_data);
                }
                return false;
            }
        });

     });

如果要显示超过 2 行,则需要调整终端的大小:

   var terminal = $('...').terminal(...);
   var $win = $(window);
   $win.resize(function() {
       var height = $win.height();
       terminal.innerHeight(height);
   }).resize();
   terminal.resize();
于 2015-05-13T07:22:54.510 回答