Tôi đã thay thế Windows Terminal bằng trình giả lập tăng tốc GPU này
Bản cập nhật Windows Terminal của Microsoft đã làm cho nó trở nên tuyệt vời, đưa dòng lệnh Windows ra khỏi thời kỳ hoàng kim của cmd.exe. Nhưng dù tôi đánh giá cao nó đến mức nào, cuối cùng tôi cũng gặp phải một giới hạn. Tôi muốn một thứ nhanh nhẹn hơn, tùy chỉnh hơn và nhất quán trên các hệ điều hành khác nhau mà tôi thường xuyên chuyển đổi mỗi ngày.
Đó là nơi WezTerm xuất hiện.
Nó được viết bằng Rust, thiết kế để chạy nhanh, và chủ yếu hướng đến những người dành nhiều thời gian làm việc bên trong terminal. Sau khi chuyển sang, tôi nhận ra rằng mặc dù Windows Terminal là một tiện ích tuyệt vời, WezTerm lại là một không gian làm việc tùy chỉnh.
WezTerm mang lại hiệu suất tăng tốc bằng GPU với tính linh hoạt đa nền tảng
RTX 4090 của bạn không nên chỉ dùng để chơi game
WezTerm là một trình giả lập terminal tăng tốc GPU được viết bằng Rust, hoạt động mượt mà trên Windows, macOS, Linux và thậm chí cả BSD. Thay vì đẩy toàn bộ công việc kết xuất lên CPU như hầu hết các terminal truyền thống khác, nó chuyển công việc đó sang GPU.
Sự khác biệt thể hiện ngay khi bạn bắt đầu thực hiện bất kỳ nhiệm vụ nặng nào. Dù bạn đang theo dõi các bản ghi di chuyển nhanh, biên dịch các dự án lớn, hay quản lý nhiều phiên làm việc cùng lúc, WezTerm vẫn hoạt động mượt mà mà không bị giật hình hay vẽ lại chậm như bạn có thể gặp ở những nơi khác.
Ngoài hiệu suất thô, WezTerm còn phục vụ những người quan tâm đến kiểu chữ. Nó hỗ trợ liên kết ký tự, emoji, dự phòng font chữ, màu sắc thực và các chủ đề màu sắc động. Nghe có vẻ chỉ là về mặt thẩm mỹ, nhưng thực tế lại cải thiện khả năng đọc, khiến terminal của bạn cảm giác như một IDE đầy đủ. Các toán tử như >= hoặc => được hiển thị dưới dạng ký tự duy nhất, tinh tế thay vì các ký tự riêng lẻ, giúp giảm sự lộn xộn về mặt thị giác mà không làm giảm độ rõ ràng.
WezTerm cũng cung cấp khả năng đa nhiệm ngay trong terminal, vì vậy bạn không cần phải cài đặt và cấu hình Tmux hay screen. Bạn có thể tạo các ô cửa sổ, chuyển đổi tab và tổ chức toàn bộ không gian làm việc ngay trong giao diện gốc. Bộ đa nhiệm tích hợp bao gồm cuộn lại với chức năng tìm kiếm đầy đủ, hỗ trợ chuột với Quick Select, và một chế độ sao chép văn bản riêng. Bảng lệnh tích hợp giúp việc điều hướng trở nên trực quan: nhấn Ctrl + Shift + P để tìm mọi hành động có sẵn, bạn có thể tìm kiếm và thực hiện chúng.
Hơn nữa, WezTerm hỗ trợ SSH ngay khi cài đặt. Các máy chủ từ xa cảm giác gần gũi như các máy cục bộ, và nếu bạn cần làm việc với cổng nối tiếp hoặc bảng Arduino, nó cũng có thể thực hiện được. Nó vượt ra ngoài trường hợp sử dụng dòng lệnh thông thường và bắt đầu cảm giác giống như một bảng điều khiển đa năng dành cho những người sống trong terminal.
Cấu hình là nơi WezTerm thực sự nổi bật
Nếu bạn có thể viết kịch bản, WezTerm có thể thực hiện được
Bắt đầu với WezTerm liên quan đến việc tạo một tệp cấu hình, mặc dù quá trình này ít đáng sợ hơn so với những gì nghe có vẻ. Tôi sẽ hướng dẫn trên Windows vì đó là hệ điều hành tôi đang sử dụng. Tệp cấu hình bạn cần chỉnh sửa có tên wezterm.lua. Vì cấu hình được điều khiển bằng mã, nên sẽ hữu ích nếu bạn hiểu LUA là gì trước khi bắt đầu, vì ngôn ngữ nhẹ này sẽ xử lý tất cả các logic.
WezTerm kiểm tra một vài vị trí khác nhau cho tệp này. Nếu bạn chỉ muốn bắt đầu sử dụng nhanh, đường dẫn mặc định là đủ. Nếu bạn là người thích giữ cho hệ thống dotfiles của mình gọn gàng, bạn có lẽ sẽ thích bố cục có tổ chức hơn.
- Cài đặt tiêu chuẩn (bắt đầu nhanh):
C:\Users\TênNgườiDùngCủaBạn\.wezterm.lua - Cài đặt có tổ chức (được khuyến nghị):
C:\Users\TênNgườiDùngCủaBạn\.config\wezterm\wezterm.lua
Nếu việc tạo các đường dẫn đó thủ công khiến bạn cảm thấy phiền phức, PowerShell có thể lo tất cả cho bạn chỉ trong một bước:
# This creates the organized folder structure and the file
New-Item -Path "$env:USERPROFILE\.config\wezterm\wezterm.lua" -ItemType File -ForceKhi file đã tồn tại, bạn có thể mở nó bằng bất kỳ trình soạn thảo nào mà bạn thích: Notepad, VS Code, hoặc thậm chí là một trình soạn thảo trên terminal. Và bạn không cần phải tìm kiếm trong File Explorer mỗi khi muốn chỉnh sửa gì đó. Sau khi cấu hình được tạo, WezTerm về cơ bản có thể mở cài đặt của chính nó cho bạn:
- VS Code:
code ~/.config/wezterm/wezterm.lua - Notepad (Windows):
notepad $env:USERPROFILE\.config\wezterm\wezterm.lua - Nano (Terminal):
nano ~/.config/wezterm/wezterm.lua
Điều hay là ngay khi bạn lưu tệp, WezTerm sẽ tải lại các thay đổi của bạn ngay lập tức.
Đây là một cấu hình cơ bản để bạn bắt đầu:
local wezterm = require('wezterm')
local config = wezterm.config_builder()
-- Font configuration
config.font = wezterm.font('JetBrains Mono')
config.font_size = 13.0
-- Color scheme (WezTerm ships with over 1,000 built-in themes)
config.color_scheme = 'Tokyo Night'
-- Visual customization
config.window_background_opacity = 0.95
config.enable_tab_bar = true
-- "INTEGRATED_BUTTONS|RESIZE" keeps the borders resizable and
-- puts the Min/Max/Close buttons in the tab bar (modern look).
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
-- Cursor style
config.default_cursor_style = 'BlinkingBar'
return config
Đoạn cấu hình này cho WezTerm sử dụng phông chữ JetBrains Mono cỡ 13, áp dụng chủ đề màu Tokyo Night, đặt độ mờ cửa sổ là 95%, bật thanh tab và đặt con trỏ nhấp nháy dưới dạng thanh dọc.
Ngay khi bạn lưu tệp, WezTerm sẽ lập tức nhận các thay đổi. Nếu bạn muốn thử các phông chữ hoặc chủ đề khác nhau, chỉ cần chỉnh sửa tệp và quan sát WezTerm điều chỉnh theo thời gian thực.
Bạn cũng có thể ghi đè các giá trị cấu hình ngay trên dòng lệnh, giúp dễ dàng thử nghiệm các ý tưởng tạm thời mà không cần chạm vào tệp cấu hình của bạn. Ví dụ: wezterm --config color_scheme='Batman' sẽ khởi chạy WezTerm với giao diện Batman chỉ cho phiên làm việc đó.
Vì cấu hình được hỗ trợ bởi Lua, bạn có thể làm mọi thứ phức tạp tùy thích. Bạn có thể định nghĩa các phím tắt tùy chỉnh cho các quy trình làm việc phức tạp, chuyển đổi giữa các cấu hình hoàn toàn khác nhau cho công việc và dự án cá nhân, hoặc thậm chí đặt các quy tắc có điều kiện phản ứng theo thời gian trong ngày hoặc loại shell mà bạn đang sử dụng.
Chẳng hạn, bạn có thể chỉ muốn độ trong suốt trên màn hình phụ của mình, hoặc các bảng màu cụ thể cho từng máy chủ SSH khác nhau. Mỗi cửa sổ có thể áp dụng một bộ ghi đè riêng biệt theo từng cửa sổ thông qua mã trong tệp cấu hình của bạn, cho phép tùy chỉnh từng cửa sổ theo bối cảnh của bạn.
Một trong những tính năng yêu thích của tôi là hệ thống không gian làm việc. Nó cho phép bạn nhóm các cửa sổ, tab và bảng thành các phiên có tên. Hãy tưởng tượng có các không gian làm việc riêng biệt cho phát triển frontend, dịch vụ backend và bảo trì cơ sở dữ liệu, mỗi cái đều có bố cục và các phiên đang mở riêng. Bạn có thể chuyển đổi giữa chúng và giữ nguyên trạng thái làm việc của mình trong nhiều ngày hoặc thậm chí nhiều tuần.
Thật khó để chia tay với Windows Terminal, nhưng sự lựa chọn thay thế này thực sự đáng để giữ lại.
Công bằng mà nói, WezTerm yêu cầu bạn đầu tư nhiều hơn một chút ngay từ đầu so với các terminal thông thường chỉ cần nhấp vào là xong. Bạn sẽ dành một khoảng thời gian để chỉnh sửa tệp wezterm.lua của mình, thử các bảng màu khác nhau, và tinh chỉnh các phím tắt sao cho cảm thấy thoải mái. Nhưng sự đầu tư ban đầu này sẽ mang lại kết quả. Thay vì phải chịu đựng các thiết lập mặc định của người khác, bạn sẽ có một không gian làm việc phù hợp với thói quen và sở thích của riêng mình.