ansi-escapes
ANSI转义码 用于操作终端
安装
npm install ansi-escapes
用法
import ansiEscapes from 'ansi-escapes';
// Moves the cursor two rows up and to the left
process.stdout.write(ansiEscapes.cursorUp(2) + ansiEscapes.cursorLeft);
//=> '\u001B[2A\u001B[1000D'
或者使用命名的导出…
import {cursorUp, cursorLeft} from 'ansi-escapes';
// etc, as above...
你也可以在浏览器中使用Xterm.js:
import ansiEscapes from 'ansi-escapes';
import {Terminal} from 'xterm';
import 'xterm/css/xterm.css';
const terminal = new Terminal({…});
// Moves the cursor two rows up and to the left
terminal.write(ansiEscapes.cursorUp(2) + ansiEscapes.cursorLeft);
//=> '\u001B[2A\u001B[1000D'
API
cursorTo (x, y)
设置光标的绝对位置。 x0 y0 在屏幕的左上方。
cursorMove (x, y)
设置光标相对于当前位置的位置。
cursorUp(计数)
将游标向上移动指定数量的行。默认是 1。
cursorDown(计数)
将光标向下移动指定数量的行。默认是 1。
cursorForward(计数)
将光标向前移动指定数量的列。默认是 1。
cursorBackward(计数)
将光标向后移动指定数量的列。默认是 1。
cursorLeft
将光标移到左侧。
cursorSavePosition
保存光标位置。
cursorRestorePosition
恢复保存的光标位置。
cursorGetPosition
获取光标位置。
cursorNextLine
将光标移动到下一行。
cursorPrevLine
将光标移动到前一行。
cursorHide
隐藏的光标。
cursorShow
显示光标。
eraseLines(计数)
从当前游标位置向上擦除指定的行数。
eraseEndLine
从当前光标位置擦除到当前行的末尾。
eraseStartLine
从当前光标位置擦除到当前行的开头。
eraseLine
擦除当前的整个行。
eraseDown
从当前行到屏幕底部擦除屏幕。
eraseUp
从当前行到屏幕顶部擦除屏幕。
eraseScreen
擦除屏幕并将光标移动到左上角位置。
scrollUp
向上滚动显示一行。
scrollDown
向下滚动显示一行。
clearViewport
只清除可见的终端屏幕(视口),而不影响回滚缓冲区或终端状态。
这是一个更安全的选择 clearScreen 这在各个终端上都是一致的。
clearScreen
清除终端屏幕。
[!警告) 这使用RIS (Reset to Initial State),它也可以清除一些终端(xterm.js, VTE)中的回滚缓冲区并重置终端模式。考虑使用
clearViewport()为了更安全的viewport清除。
clearTerminal
清除整个终端,包括回滚缓冲区。(不仅仅是可见的部分)
enterAlternativeScreen
进入 选择屏幕。
exitAlternativeScreen
退出 选择屏幕,假设 enterAlternativeScreen 以前叫过。
beginSynchronizedOutput
开始 同步输出 减少渲染时的闪烁。
endSynchronizedOutput
结束 同步输出。
synchronizedOutput(文本)
将输出封装在 同步输出 在渲染过程中减少闪烁的序列。
哔哔声
输出蜂鸣声。
链接(文本、网址)
创建一个可点击的链接。
支持终端。 使用 supports-hyperlinks 检测链路支持。
图像(filePath、期权?)
显示图像。
看到 term-img 用于更高级别的模块。
输入
类型: Buffer
图像缓冲区。通常读入 fs.readFile()。
选项
类型: object
宽度
高度
类型: string | number
宽度和高度以数字后跟一个单位或单词“auto”的形式给出。
N: N个字符单元。Npx: N像素。N%:会话宽度或高度的百分之N。auto:图像的固有尺寸将被用来确定一个合适的尺寸。
preserveAspectRatio
类型: boolean
默认值: true
setCwd(路径?)
类型: string
默认值: process.cwd()
为iTerm2和ConEmu设置当前工作目录。
iTerm.setCwd(路径?)
类型: string
默认值: process.cwd()
通知iTerm2 对当前目录的语义历史进行帮助和启用 点击cmd键的相对路径。
ConEmu.setCwd(路径?)
类型: string
默认值: process.cwd()
通知ConEmu 关于shell当前工作目录。
摘要。注释(消息、期权?)
创建转义代码以在iTerm2中显示“注释”。
注释如下所示:
看到 专有转义码文档 了解更多信息。
消息
类型: string
要在注释中显示的消息。
这个 | 字符是不允许的,将被剥夺。
选项
类型: object
长度
类型: number
默认值:该行的剩余部分
要注释的列数非零。
x
类型: number
默认:光标位置
起始X坐标。
必须与 y 和 length。
y
类型: number
默认:光标位置
从Y坐标开始。
必须与 x 和 length。
isHidden
类型: boolean
默认值: false
创建一个“隐藏”注释。
以这种方式创建的注释可以使用“Show Annotations”iTerm命令显示。
相关
- ansi-styles -终端样式字符串的ANSI转义码