# Điều khiển terminal

Chạy script phân tích và lệnh của dự án trong các phiên terminal có tên.

Terminal mang đến một dòng lệnh cho dự án viết của bạn. Hãy dùng nó để chạy một script phân tích, xem xét các tệp được tạo ra, hoặc tái hiện một lệnh được mô tả trong phần phương pháp của bạn.

![Mở terminal từ thanh công cụ dự án. Các thẻ phiên, New terminal (+) và Terminal settings nằm ngay phía trên vùng đầu ra.](https://cdn.oleafly.com/images/screenshots/desktop/docs/llama-terminal-dark-window-v2.png#view=0,767,1920,267)

## Mở terminal

Chọn **Terminal** từ dock của không gian làm việc, hoặc nhấn Ctrl+&#96; (phím Control và phím dấu huyền, trên mọi nền tảng). Trên macOS và Linux, **View → Toggle Terminal** cũng làm điều tương tự. Terminal sẽ mở cho dự án đang hoạt động. Bạn có thể ẩn terminal để quay lại trình soạn thảo trong khi phiên vẫn được giữ lại.

Để dùng phím khác, hãy thay đổi **Toggle terminal** trong **Settings → Keyboard Shortcuts**.

## Chọn và sao chép đầu ra

Nhấp vào terminal để đưa con trỏ nhập vào đó. Trên macOS, ⌘A hoặc **Edit → Select All** khi đó sẽ chọn văn bản của terminal thay vì bản thảo của bạn, sẵn sàng để sao chép.

## Terminal mới

Dùng **New terminal** để mở một phiên khác. Giữ một phép phân tích chạy lâu trong một thẻ và dùng thẻ khác để xem kết quả đầu ra.

## Chuyển đổi giữa các phiên

Chọn một thẻ terminal để xem shell và đầu ra của nó. Một lệnh đang chạy thuộc về phiên đó, chứ không phụ thuộc vào tệp nào đang được chọn trong trình soạn thảo.

## Menu của thẻ

Nhấp chuột phải vào một thẻ terminal, hoặc chọn thẻ đó rồi nhấn Shift+F10, để mở menu của nó.

### Đổi tên

Chọn **Rename**, hoặc nhấp đúp vào tiêu đề của thẻ, rồi gõ một tên như `analysis` hoặc `figures`. Mục đích của mỗi phiên vẫn hiển thị rõ khi có nhiều phiên mở cùng lúc.

### Màu

Mở **Color** và chọn một ô màu để phân biệt các phiên. Chọn **None** để bỏ màu.

### Đóng

Mở **Close** và chọn một trong các tùy chọn sau. Mỗi tùy chọn tính từ thẻ mà bạn đã mở menu của nó:

- **Close current** đóng thẻ đó. Biểu tượng **×** trên thẻ cũng làm như vậy.
- **Close others** giữ lại thẻ đó và đóng các thẻ còn lại.
- **Close all to the left** đóng các thẻ phía trước nó.
- **Close all to the right** đóng các thẻ phía sau nó.

Một mục sẽ bị mờ đi khi không còn gì để đóng.

Đóng một thẻ sẽ chấm dứt phiên terminal của nó, vì vậy hãy kiểm tra trước xem còn lệnh nào bạn cần dùng không. Để quay lại một lệnh đang chạy sau này, hãy ẩn bảng terminal.

## Thiết lập terminal

![Settings → Appearance → Terminal. Dùng thẻ này cho phông chữ, con trỏ, bảng màu và tự động khởi động shell.](https://cdn.oleafly.com/images/screenshots/desktop/docs/settings-terminal-dark-window-v2.png#view=519,89,883,902)

Mở **Terminal settings** để điều chỉnh phông chữ, cỡ chữ, độ đậm thường và đậm, hình dạng con trỏ, hiệu ứng nhấp nháy của con trỏ, hành vi khi khởi động, và màu sắc của terminal. [Hướng dẫn về Appearance](/docs/settings/appearance/) mô tả từng điều khiển này.

## Khởi động cùng dự án

Bật tùy chọn khởi động terminal trong thiết lập Appearance nếu bạn muốn nó sẵn sàng ngay khi một dự án được mở. Nếu không, hãy mở nó từ dock khi cần dùng shell.

## Dùng lệnh oleafly

Terminal của Oleafly có sẵn lệnh `oleafly` trên PATH, kể cả khi bạn chưa cài nó cho các terminal khác. Hãy thử `oleafly build` hoặc `oleafly check` trên dự án đang mở. Xem [Công cụ dòng lệnh](/docs/cli/).

## Tìm hiểu dự án LLaMA

Mở dự án LLaMA và terminal của nó. Lệnh này đếm các tệp nguồn LaTeX ở cấp cao nhất và kiểm tra rằng `acl2023.tex` tồn tại. Nó chỉ đọc dự án mà không thay đổi gì:

```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())'
```

Số lượng tệp phụ thuộc vào bản sao dự án trên máy của bạn. `Main file: True` xác nhận tệp chính đã có mặt. Trên những hệ thống nơi Python được cài dưới tên `python`, hãy dùng lệnh đó thay thế.

Với một script phân tích, hãy giữ script và dữ liệu đầu vào của nó cùng nhau trong dự án, chạy nó từ terminal này, và chỉ chèn kết quả đầu ra vào bài báo sau khi đã kiểm tra.

[Xây dựng một bài báo quanh phân tích dữ liệu →](/docs/workflows/data-analysis/)
