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;
相关推荐
Jul1en_9 分钟前
Claude 迁移 Codex 工作流迁移与更新
java·服务器·前端·后端·ai编程
Heo11 分钟前
14_React 中的更新队列 updateQueue
前端·javascript·面试
前端 贾公子18 分钟前
解决浏览器端 globalThis is not defined 报错
前端·javascript·vue.js
宁雨桥20 分钟前
前端与AI结合实战分享
前端·人工智能
之歆39 分钟前
DAY12_CSS3选择器全攻略 + 盒子新特性完全指南(下)
前端·javascript·css3
kyriewen1141 分钟前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
开发语言·前端·javascript·设计模式·ecmascript
光影少年1 小时前
react函数组件、类组件、纯组件、受控/非受控组件
前端·react.js·掘金·金石计划
程序员包打听1 小时前
MoonBit 是什么?给第一次听说这门语言的你
前端·后端
Rkgua1 小时前
CSS动画效果
前端·css
Rkgua1 小时前
Flexbox 与 Grid 布局
前端·css