# 终端控件

在命名的终端会话中运行分析脚本和项目命令。

终端为你的写作项目提供命令行。可以用它运行分析脚本、检查生成的文件，或复现方法部分中描述的命令。

![从项目工具栏打开终端。会话标签、新建终端（+）和终端设置就在输出区正上方。](https://cdn.oleafly.com/images/screenshots/desktop/docs/llama-terminal-dark-window-v2.png#view=0,767,1920,267)

## 打开终端

从工作区程序坞中选择**终端**，或按 Ctrl+&#96;（Control 键加反引号键，所有平台都一样）。在 macOS 和 Linux 上，**视图 → 切换终端**效果相同。终端会为当前项目打开。隐藏终端后，你可以回到编辑器，而会话仍然保留。

要使用不同的按键，请在**设置 → 键盘快捷键**中更改**切换终端**。

## 选择并复制输出

点击终端使其获得焦点。在 macOS 上，此时 ⌘A 或**编辑 → 全选**选中的是终端的文本，而不是你的稿件，可以直接复制。

## 新建终端

用**新建终端**打开另一个会话。可以把耗时较长的分析放在一个标签页里，另一个用来查看输出。

## 切换会话

选择一个终端标签页，查看它的 shell 和输出。正在运行的命令属于那个会话，而不是当前选中的编辑器文件。

## 标签页菜单

右键点击终端标签页，或让它获得焦点后按 Shift+F10，打开它的菜单。

### 重命名

选择**重命名**，或双击标签页的标题，输入类似 `analysis` 或 `figures` 的名称。同时打开多个会话时，每个会话的用途都能一目了然。

### 颜色

打开**颜色**并选择一个色板来区分会话。选择**无**可移除颜色。

### 关闭

打开**关闭**并选择下列之一。每一项都以你打开菜单的那个标签页为起点计算：

- **关闭当前标签页**会关闭那个标签页。标签页上的 **×** 效果相同。
- **关闭其他标签页**保留那个标签页，关闭其余所有标签页。
- **关闭左侧所有标签页**会关闭它之前的标签页。
- **关闭右侧所有标签页**会关闭它之后的标签页。

没有可关闭的内容时，对应的项会呈灰色。

关闭标签页会结束它的终端会话，所以请先检查是否还有需要的命令。如果以后还想回到正在运行的命令，请改为隐藏终端面板。

## 终端设置

![设置 → 外观 → 终端。在这个标签页中设置字体、光标、调色板和自动启动 shell。](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-terminal-dark-window-v2.png#view=519,89,883,902)

打开**终端设置**，调整终端的字体、大小、常规和粗体字重、光标形状、光标闪烁、启动行为和颜色。[外观指南](/docs/settings/appearance/)逐一介绍了这些控件。

## 随项目启动

如果希望打开项目时终端就已就绪，请在外观设置中启用终端启动选项。否则，需要 shell 时再从程序坞打开它。

## 使用 oleafly 命令

Oleafly 的终端在 PATH 中带有 `oleafly` 命令，即使你没有为其他终端安装它。可以在打开的项目上试试 `oleafly build` 或 `oleafly check`。参见[命令行工具](/docs/cli/)。

## 检查 LLaMA 项目

打开 LLaMA 项目及其终端。下面这条命令会统计顶层的 LaTeX 源文件，并检查 `acl2023.tex` 是否存在。它只读取项目，不会更改它：

```sh
python3 -c 'from pathlib import Path; files = sorted(Path(".").glob("*.tex")); print("LaTeX source files:", len(files)); print("Main file:", Path("acl2023.tex").is_file())'
```

数量取决于你那份项目副本。`Main file: True` 说明入口文件存在。在 Python 安装为 `python` 的系统上，请改用该命令。

对于分析脚本，请把脚本和它的输入数据放在项目里，从这个终端运行它，并在检查过结果之后再把输出插入论文。

[围绕数据分析撰写论文 →](/docs/workflows/data-analysis/)
