vue + xterm 前端终端terminal

引入

javascript 复制代码
import {Terminal} from "xterm";
import {FitAddon} from "xterm-addon-fit";
import "xterm/css/xterm.css";

html

javascript 复制代码
<div id="terminal"></div>

vue

javascript 复制代码
onMounted(() => {
  nextTick(() => {
    initTerm();
  })
})

const initTerm = async () => {
  let termContainer = document.getElementById("terminal");
  term = new Terminal({
    lineHeight: 1.3,
    fontSize: 15,
    fontFamily:
      "WenQuanYi Micro Hei, Monaco, Menlo, Consolas, 'Courier New', monospace",
    theme: {
      background: '#181d28',
    },
    unicodeVersion: 12,
    convertEol: true,
    // 光标闪烁
    cursorBlink: true,
    cursorStyle: 'underline',
    scrollback: 100,
    tabStopWidth: 4,
  });

  term.open(termContainer)
};

write

命令 含义
term.write('\n') 换行
term.write('\r'+内容) 从头替换当前行内容
write('\x1b[2K\r') 删除当前整行

调整光标位置

javascript 复制代码
term._core.buffer.x = 0;
相关推荐
前端双越老师3 分钟前
程序员 1v1 访谈系列第三期:先不要想在工作中有突破
前端·ai编程·全栈
浮生望7 分钟前
从作用域链到 React 陈旧闭包:为什么函数式更新能拿到最新 state
javascript
小羊没烦恼!8 分钟前
浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色
前端·数据库·后端·python·web安全·oracle
myaifas11 分钟前
新人的第一个任务该怎么选
前端·产品经理
怕浪猫23 分钟前
前端转全栈最低成本的技术栈选择
前端·javascript·面试
狂师25 分钟前
AI时代我们要如何玩抓包测试:Reqable + AI Agent
前端·程序员·测试
data analyse 45627 分钟前
页面卸载时埋点上报总丢失?sendBeacon 上报与补偿方案
大数据·运维·服务器·前端·数据库·人工智能·数据分析
WebInfra35 分钟前
Rsdoctor 2.0 发布:Agent 驱动的全自动优化工具
前端·javascript·node.js
乘风gg36 分钟前
AI Coding 时代最值钱的东西,软件工程(上)
前端·ai编程·claude
IT_陈寒42 分钟前
一文搞懂Vite的核心概念
前端·人工智能·后端