Tất tần tật về Windows Terminal

Sắp tói Windows 11 sẽ loại bỏ CMD và thay thế bằng Windows Terminal, để bắt kịp xu hướng, trong bài viết này, chúng ta sẽ tìm hiểu Windows Terminal, phần mềm hỗ trợ lý tưởng cho WSL2. Nó nhanh, có thể cấu hình, đẹp và cung cấp tất cả các lợi ích của việc phát triển cả Windows và Linux.

Windows đã hoàn toàn chấp nhận Linux và WSL2 làm cho trải nghiệm Linux trở nên liền mạch hơn.

Terminal của bản phân phối có thể được truy cập bằng:

1. Nhấp vào Start menu
2. Nhập wsl hoặc bash tại Powershell hoặc command prompt
3. Sử dụng tùy chọn terminal của bên thứ ba như Cmder, ConEmu và Hyper với cấu hình khởi chạy %windir%system32bash.exe ~
4. Đặt Linux làm shell mặc định trong VS Code bằng cách nhấn Ctrl + Shift + P và gõ Terminal: Select Default Shell và chọn WSL Bash.

Windows Terminal (có thể tải xuống từ Microsoft Store) cung cấp thêm nhiều sự lựa chọn. Các tính năng của ứng dụng mới:

Cách cài đặt Windows Terminal

Cách dễ nhất để cài đặt Windows Terminal là thông qua Microsoft Store:

ms-windows-store://pdp/?ProductId=9n0dx20hk701

Nếu liên kết này không thành công, hãy thử mở Microsoft Store trong trình duyệt của bạn hoặc khởi chạy ứng dụng Microsoft Store từ Start Menu của Windows và tìm kiếm “Terminal”.

Lưu ý: không chọn ứng dụng “Windows Terminal Preview”.

Nhấn Get và đợi vài giây để quá trình cài đặt hoàn tất.

Nếu không có quyền truy cập vào Store, bạn có thể tải bản phát hành mới nhất từ ​​GitHub tại đây.

Biểu tượng ứng dụng Windows Terminal hiện đã có trong Start Menu của Windows. Để truy cập dễ dàng hơn, hãy nhấp chuột phải vào biểu tượng và chọn Pin to Start hoặc More, sau đó là chọn Pin to taskbar.

Bắt đầu với Windows Terminal

Khi lần đầu tiên chạy, Windows Terminal sử dụng Powershell làm cấu hình mặc định. Bạn có thể sử dụng menu thả xuống có sẵn để khởi chạy các tab khác và truy cập cài đặt:

Terminal tự động tạo cấu hình cho tất cả các bản phân phối WSL và shell Windows mà bạn đã cài đặt, mặc dù có thể tắt tính năng tạo trong cài đặt chung (global settings).

Quản lý các tab và ngăn

Mở tab mới cho cấu hình mặc định bằng cách nhấp vào biểu tượng + hoặc Ctrl + Shift + T. Để mở tab cho một cấu hình khác, hãy chọn tab đó từ menu thả xuống hoặc nhấn Ctrl + Shift + N, trong đó N là số cấu hình.

Nhấn Alt + Shift + D để sao chép và chia ngăn. Ngăn hoạt động được chia làm hai hàng dọc theo mỗi khi nó được sử dụng:

Để buộc tạo ra:

Để mở một cấu hình khác trong ngăn mới, hãy giữ phím Alt khi chọn nó từ menu thả xuống.

Nhấn và giữ phím Alt và sử dụng các phím con trỏ để chuyển đổi giữa các ngăn từ bàn phím. Kích thước của ngăn có thể được điều chỉnh bằng cách giữ Alt + Shift và sử dụng các phím con trỏ để thay đổi kích thước cho phù hợp.

Các tab có thể được đổi tên bằng cách nhấp đúp vào văn bản. Bạn cũng có thể thay đổi tên hoặc màu bằng cách nhấp chuột phải vào tab và chọn menu:

Điều này chỉ ảnh hưởng đến tab hiện tại; nó không thay đổi vĩnh viễn profile.

Để đóng ngăn hoặc tab đang hoạt động, hãy nhấn Alt + Shift + W hoặc nhập lệnh exit.

Cỡ chữ

Kích thước văn bản của terminal đang hoạt động có thể được thay đổi bằng Ctrl + “+”Ctrl + “-“. Ngoài ra, bạn cũng có thể giữ Ctrl và cuộn con lăn chuột.

Cuộn

Sử dụng thanh cuộn để điều hướng đầu ra của terminal. Ngoài ra, giữ Ctrl và nhấn con trỏ lên, con trỏ xuống, Page Up hoặc Page Down để điều hướng bằng bàn phím.

Tìm kiếm

Nhấn Ctrl + Shift + F để mở hộp tìm kiếm:

Nhập bất kỳ văn bản nào, sau đó sử dụng các biểu tượng lên và xuống để tìm kiếm đầu ra trong terminal. Nhấp vào biểu tượng Aa để kích hoạt và hủy kích hoạt đối sánh chữ hoa chữ thường.

Sao chép và dán

Theo mặc định, sao chép và dán được liên kết với Ctrl + Shift + C Ctrl + Shift + V, mặc dù Ctrl + CCtrl + V cũng sẽ hoạt động.

Lưu ý: Ctrl + C có thể kết thúc một ứng dụng Linux, vì vậy bạn nên sử dụng Shift.

Tùy chọn tự động sao chép khi chọn có sẵn trong cài đặt chung và bạn cũng có thể dán khay nhớ tạm thời bằng cách nhấp chuột phải.

Settings

Settings được truy cập từ menu thả xuống hoặc Ctrl + “,” (dấu phẩy). Cấu hình được xác định trong một tệp settings.json, vì vậy bạn có thể được nhắc chọn một trình soạn thảo văn bản. VS Code là một lựa chọn tuyệt vời, mặc dù Notepad vẫn ổn nếu bạn hài lòng khi chỉnh sửa mà không cần mã màu và kiểm tra cú pháp.

settings.json:

  1. global settings, áp dụng cho tất cả các cấu hình
  2. profile settings, xác định cấu hình
  3. custom color scheme settings và
  4. keybinding settings

Tệp sử dụng định dạng sau:

// This file was initially generated by Windows Terminal
{

  // general settings, e.g.
  "initialRows": 40,

  // profile settings
  "profiles":
  {

    "defaults":
    {
      // settings that apply to all profiles
    }
    "list":
    [
      // list of individual profiles, e.g.
      {
        "guid": "{81d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Windows PowerShell",
        "commandline": "powershell.exe"
      },
      {
        "guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Ubuntu",
        "source": "Windows.Terminal.Wsl"
      }
    ]

  }

  // custom color schemes, e.g.
  "schemes": [
    {
      "name": "My new theme",
      "cursorColor": "#FFFFFF",
      "selectionBackground": "#FFFFFF",
      "background" : "#0C0C0C",
      "foreground" : "#CCCCCC"
    }
  ],

  // custom key bindings, e.g.
  "keybindings:
  [
    { "command": "find", "keys": "ctrl+shift+f" }
  ]

}

Giá trị mặc định được xác định trong defaults.json. Mở nó bằng cách giữ phím Alt khi nhấp vào Settings trong menu thả xuống.

Cảnh báo: không thay đổi tệp mặc định. Sử dụng nó để xem cài đặt mặc định và nếu cần, thêm hoặc thay đổi cài đặt trong settings.json.

Global Settings

“defaultProfile” xác định GUID của cấu hình được sử dụng làm mặc định khi Windows Terminal được khởi chạy.

Đặt “copyOnSelect” thành true để tự động sao chép văn bản đã chọn vào khay nhớ tạm của bạn mà không cần phải nhấn Ctrl + Shift + C.

Đặt “copyFormatting” thành false để chỉ sao chép văn bản thuần túy mà không cần bất kỳ định dạng nào.

Đặt “InitialColumns” và “initialRows” thành số ký tự cho kích thước ngang và dọc.

“tabWidthMode” có thể được đặt thành:

  1. “equal”: mỗi tab có cùng chiều rộng (mặc định)
  2. “titleLength”: mỗi tab được đặt thành chiều rộng của tiêu đề hoặc
  3. “compact”: các tab không hoạt động thu nhỏ theo chiều rộng của biểu tượng.

“DisableProfileSources” đặt một mảng ngăn các cấu hình được tạo tự động. Ví dụ:

"disabledProfileSources": [
  "Windows.Terminal.Wsl",
  "Windows.Terminal.Azure",
  "Windows.Terminal.PowershellCore"
],

Điều này sẽ vô hiệu hóa tất cả các cấu hình đã tạo; loại bỏ bất kỳ cái nào bạn muốn giữ lại.

Profile Settings

Cấu hình mới được xác định bằng cách tạo một nhóm đối tượng trong mảng “profiles”, “list”. Một ví dụ Ubuntu WSL2:

{
  "guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
  "name": "Ubuntu",
  "source": "Windows.Terminal.Wsl",
  "startingDirectory": "//wsl$/Ubuntu/home/username/",
  "colorScheme": "Tango Dark",
  "useAcrylic": true,
  "acrylicOpacity": 0.75,
  "hidden": false
},

Mỗi cấu hình được xác định với các cài đặt sau:

Cài đặt Mô tả
"guid" một định danh duy nhất (bắt buộc). Đối với các cấu hình mới, bạn có thể tạo GUID trực tuyến tại Guidgen.com
"source" trình tạo hồ sơ. Điều này chỉ được sử dụng khi hồ sơ đã được thêm tự động và không được chỉnh sửa.
"commandline" tệp thực thi để chạy giả sử không có “source” nào được đặt. Ví dụ: đây có thể là lệnh SSH chẳng hạn như “ssh [email protected]
"startingDirectory" thư mục mà shell bắt đầu. Đối với các bản phân phối WSL, tốt nhất nên được đặt thành “//wsl$/Ubuntu/home/username/” trong đó username là người dùng đã tạo trong quá trình cài đặt
"name" tên hồ sơ được hiển thị trong menu thả xuống
"tabTitle" tên được hiển thị trong tiêu đề tab
"suppressApplicationTitle" đặt true để buộc “tabTitle” hoặc “name” trong bash
"icon" đường dẫn đầy đủ đến biểu tượng được hiển thị trong menu thả xuống và tab, ví dụ: “C: /images/tux.png”. PNG 24 bit là lựa chọn tốt nhất; SVG không được hỗ trợ
"hidden" nếu được đặt thành true, hồ sơ sẽ không được hiển thị trong menu thả xuống
"fontFace" sử dụng một phông chữ cụ thể
"fontSize" sử dụng một số nguyên kích thước phông chữ cụ thể
"fontWeight" sử dụng trọng lượng phông chữ cụ thể. Đây có thể là một số nguyên OpenType hoặc một từ khóa:: "normal""thin""extra-light""light""semi-light""medium""semi-bold""bold""extra-bold""black""extra-black"
"padding" đệm xung quanh văn bản ở cạnh cửa sổ. Có thể đặt một, hai hoặc bốn giá trị được phân tách bằng dấu phẩy, ví dụ: “1, 2, 3, 4” để đặt lần lượt sang trái, trên, phải và dưới cùng
"antialiasingMode" phương pháp khử răng cưa. Đặt thành “grayscale” (mặc định), “cleartype” hoặc “aliased”
"cursorShape" loại con trỏ. Đặt thành “bar” (mặc định), “vintage”, “underscore”, “fillBox” hoặc “blankBox”
"cursorHeight" chiều cao của con trỏ “vintage” được xác định là một số nguyên từ 25 đến 100
"cursorColor" màu con trỏ, được xác định là “#rgb” hoặc “#rrggbb”

Cài đặt theo chủ đề cụ thể bao gồm:

setting description
"colorScheme" tên của một lược đồ màu như được xác định trong defaults.json hoặc danh sách “schemes” trong settings.json
"useAcrylic" đặt true để sử dụng hiệu ứng nền kính mờ
"acrylicOpacity" độ mờ của acrylic từ 0 (hoàn toàn trong suốt) đến 1 (mờ hoàn toàn)
"backgroundImage" đường dẫn đầy đủ đến hình nền, ví dụ: “C: /images/background.png”
"backgroundImageOpacity" độ mờ của hình nền từ 0 (hoàn toàn trong suốt) đến 1 (mờ hoàn toàn)

Cuối cùng, hãy thêm “Experiment.retroTerminalEffect”: true vào cấu hình để có hiệu ứng CRT cổ điển.

Color Scheme Settings

“ColorScheme” của mỗi cấu hình có thể được đặt thành tên của bất kỳ bảng màu nào có trong defaults.json. Ví dụ:

"Campbell":

"Campbell Powershell":

"One Half Dark":

"One Half Light":

"Tango Dark":

"Tango Light":

"Vintage":

Tạo bảng màu của riêng bạn

Mỗi màu được xác định với một giá trị hex. Ví dụ:

"schemes": [
  {
    "name": "My New Theme",
    "foreground": "#EEEEEE",
    "background": "#111111",
    "cursorColor": "#FFFFFF",
    "black": "#000000",
    "red": "#CC0000",
    "green": "#4E9A06",
    "yellow": "#C4A000",
    "blue": "#3465A4",
    "purple": "#75507B",
    "cyan": "#06989A",
    "white": "#EEEEEE",
    "brightBlack": "#555753",
    "brightRed": "#EF2929",
    "brightGreen": "#8AE234",
    "brightYellow": "#FCE94F",
    "brightBlue": "#729FCF",
    "brightPurple": "#AD7FA8",
    "brightCyan": "#34E2E2",
    "brightWhite": "#FFFFFF"
  }
],

Sau đó, scheme  có thể được sử dụng bằng cách thêm “name” của nó vào cài đặt “colorScheme” của profile. Ví dụ:

"colorScheme": "My New Theme"

Keybinding Settings

Mảng “keybindings” trong settings.json ghi đè hoặc bổ sung keybindings mặc định được đặt trong defaults.json. Mỗi keybinding được định nghĩa là một đối tượng với một “lệnh” và tổ hợp các “phím”. Ví dụ:

// Ctrl + Shift + F để mở hộp tìm kiếm
{ "command": "find", "keys": "ctrl+shift+f" },

Trong một số trường hợp, “lệnh” có thể là một “hành động” của ứng dụng với một hoặc nhiều đối số. Ví dụ:

// Ctrl + Shift + 1 để mở hồ sơ đầu tiên trong tab mới
{
  "command": { "action": "newTab", "index": 0 },
  "keys": "ctrl+shift+1"
},

Giá trị “keys” chấp nhận các công cụ sửa đổi ctrl +, shift +, và alt +, theo sau là:

type keys
các phím chức năng f1-f24
phím chữ và số a-z0-9
biểu tượng -=[];',./
phím con trỏ downleftrightuppagedownpageuppgdnpgupendhomeplus
phím hành động tabenterescescapespacebackspacedeleteinsert
phím số numpad_0-numpad_9numpad0-numpad9numpad_addnumpad_plusnumpad_decimalnumpad_periodnumpad_dividenumpad_minusnumpad_subtractnumpad_multiply

Ví dụ: nếu bạn muốn mở hộp tìm kiếm bằng Ctrl + F, bạn có thể thêm một dòng vào mảng “keybindings” trong settings.json:

"keybindings":
[
  { "command": "find", "keys": "ctrl+f" }
]

Hộp tìm kiếm cũng sẽ mở bằng Ctrl + Shift + F vì cài đặt đó được xác định trong defaults.json – trừ khi bạn gán tổ hợp phím đó cho lệnh khác.

Tùy chọn dòng lệnh

Windows Terminal có thể được khởi chạy từ một phím tắt hoặc bất kỳ terminal  Windows hoặc Linux nào bằng cách chạy wt.exe. Các tùy chọn sau được hỗ trợ:

option description
--help-h-?/? hiển thị trợ giúp
--maximized-M khởi chạy tối đa
--fullscreen-F khởi chạy toàn màn hình

Bạn cũng có thể chuyển một danh sách các lệnh được phân tách bằng dấu chấm phẩy. Các lệnh được sử dụng để xác định các tab và ngăn mới và với các tham số điều khiển bổ sung:

command parameters description
new-tab --profile hoặc -p--startingDirectory hoặc -dcommandline--title mở một tab mới
split-pane --horizontal hoặc -H--vertical hoặc -V--profile hoặc -p--startingDirectory hoặc -dcommandline--title mở một ngăn mới
focus-tab --target hoặc -t tập trung một tab

Các ví dụ

Các ví dụ sau phải được thực thi từ dòng lệnh cmd tiêu chuẩn hoặc một phím tắt.

Mở Windows Terminal bằng các tab Ubuntu và Windows Powershell:

wt -p "Ubuntu" ; new-tab -p "Windows PowerShell"

Mở Windows Terminal với cấu hình Ubuntu, Windows Powershell và Command Prompt trong các ngăn riêng biệt:

wt -p "Ubuntu" ; split-pane -V -p "Windows PowerShell" ; split-pane -H -p "Command Prompt"

Các ví dụ khác để khởi chạy Windows Terminal từ Linux shell hoặc Powershell có sẵn trong tài liệu Windows Terminal.

 

Đánh giá post
Exit mobile version