Trải nghiệm sử dụng WezTerm
Trước khi bắt đầu
- Cần cài đặt WezTerm
- Người dùng macOS có thể cài bằng Homebrew (
$ brew install wezterm)
Giải thích về Lua
- Cấu hình của WezTerm được định nghĩa bằng Lua
- Lua tương tự các ngôn ngữ lập trình động khác nên khá dễ đọc
- Với các cấu hình phức tạp, nên học Lua sâu hơn
Tệp cấu hình và vòng lặp phản hồi
- Tệp cấu hình nằm tại
$XDG_CONFIG_HOME/wezterm/wezterm.lua
- Khi thay đổi tệp cấu hình, nó sẽ tự động được tải lại
- Có thể xem log bằng lớp phủ gỡ lỗi (
CTRL + SHIFT + L)
Thiết lập giao diện
Chủ đề màu sắc
- WezTerm cung cấp hơn 1.000 chủ đề màu
- Ví dụ:
config.color_scheme = 'Tokyo Night'
Chủ đề màu động
- Có cung cấp mã ví dụ để thay đổi ngẫu nhiên chủ đề màu mỗi khi mở cửa sổ mới
Tôn trọng giao diện hệ thống
- Tự động thay đổi chủ đề màu theo chế độ giao diện của hệ thống
- Tạo tệp
appearance.lua rồi cấu hình
Thiết lập phông chữ
- Phông chữ mặc định là JetBrains Mono
- Ví dụ:
config.font = wezterm.font({ family = 'Berkeley Mono' })
Tạo kiểu cửa sổ
- Thiết lập độ trong suốt nền cửa sổ và hiệu ứng blur
- Ví dụ:
config.window_background_opacity = 0.9
Thiết lập thanh trạng thái
- Thêm thanh trạng thái kiểu powerline ở bên phải tab bar
- Sử dụng event API của WezTerm
Thiết lập phím
Ánh xạ phím mặc định
- Có thể giữ nguyên hoặc vô hiệu hóa ánh xạ phím mặc định (
config.disable_default_key_bindings = true)
Ví dụ ánh xạ phím
- Ánh xạ
Option + Left Arrow và Option + Right Arrow thành di chuyển theo từng từ
- Thiết lập phím tắt mở tệp cấu hình (
CMD + ,)
Tính năng multiplexing
- Sử dụng tính năng multiplexing của WezTerm
- Thiết lập phím tắt chia cửa sổ (
CTRL + SHIFT + P)
Thiết lập phím leader
- Đặt phím leader là
CTRL + A
- Dùng phím leader cùng với phím tắt chia cửa sổ
Di chuyển giữa các pane
- Thiết lập ánh xạ phím để di chuyển giữa các pane (dùng phím hướng kiểu vim)
Điều chỉnh kích thước pane
- Thiết lập key table để thay đổi kích thước pane
- Dùng cùng phím leader để điều chỉnh kích thước pane
Không gian làm việc dự án
Tạo và chuyển đổi workspace
- Tạo tệp
projects.lua rồi thêm hàm chuyển đổi dự án
- Khi chọn dự án, một workspace WezTerm mới sẽ được tạo
Tóm tắt của GN⁺
- WezTerm cho phép cấu hình linh hoạt bằng Lua nên có thể tùy biến rất đa dạng
- Tính năng tự động tải lại và lớp phủ gỡ lỗi giúp việc thay đổi cấu hình trở nên dễ dàng
- Tính năng multiplexing và quản lý workspace rất tốt, đồng thời có thể nâng cao năng suất bằng nhiều kiểu ánh xạ phím khác nhau
- Các terminal cung cấp tính năng tương tự gồm Alacritty và kitty
1 bình luận
Ý kiến trên Hacker News
Gần đây đã chuyển sang WezTerm và rất hài lòng. Trước đó tôi dùng kitty và thích phần cấu hình cũng như sự đơn giản của iTerm2. WezTerm có bộ tính năng tích hợp sẵn vượt trội hơn hẳn. Cấu hình terminal đủ ngắn để hiện trọn trong màn hình trình soạn thảo. Từ đó gần như không cần bận tâm đến terminal nữa
WezTerm phản hồi GitHub issue rất nhanh, thường sửa lỗi trong vòng một hoặc hai ngày. Ngoài một vấn đề nhỏ liên quan đến phím modifier qua SSH thì gần như hoàn hảo về mặt tính năng. Nhanh và tốt
Khi chuyển từ Kubuntu sang Ubuntu, tôi muốn có một số tính năng của Konsole như scrollback vô hạn và tìm kiếm trong scrollback, nhưng không muốn cài Konsole nên đã cài WezTerm. Tôi thích nó ngay lập tức, dù nhiều tính năng không dễ được khám phá. Tài liệu rất tốt, và tác giả rất tích cực, nhiệt tình hỗ trợ
Tôi đã thử Mac Terminal, iTerm2, Kitty, Warp và vài thứ khác, nhưng cuối cùng gắn bó với WezTerm. Dễ cấu hình, nhanh và đẹp mắt. Tôi còn tự làm cả theme
Điểm mạnh của WezTerm là gì? WezTerm hỗ trợ hoàn toàn đa hệ điều hành, nên có thể dùng trên Linux, macOS và Windows. Tôi dùng chung cấu hình terminal trên nhiều OS
Tôi đã dùng WezTerm khoảng 1 năm và đang tài trợ Wez trên GitHub. WezTerm là một terminal tuyệt vời, và nhà phát triển cũng rất tuyệt. Tôi thường xuyên dùng fast copy và các chế độ copy khác
Lý do tôi vẫn dùng iTerm2 là vì tính năng "Edit->Selection Respects Soft Boundaries". Tính năng này hiểu ký tự ống | là ranh giới pane, nên vùng chọn sẽ tự bọc theo đó
Tôi đồng ý với ý kiến của những người khác. Tôi đã dùng macOS gần 10 năm và cũng dùng iTerm2 suốt thời gian đó. Gần đây nó bắt đầu chậm đi. Khi cmd-tab, tôi phải đợi hơn 1 giây để terminal hiện ra
Wez sắp xuất bản một cuốn sách về lập trình hệ thống bằng Rust
OT: Tôi kỳ vọng nhất vào Ghostty do nhà sáng lập HashiCorp tạo ra