Saya mengganti Windows Terminal dengan emulator yang dipercepat GPU ini
Pembaruan Windows Terminal dari Microsoft membuatnya luar biasa, membawa baris perintah Windows keluar dari zaman kegelapan cmd.exe. Tapi sejauh mana pun saya menghargainya, akhirnya saya menemui batasan. Saya menginginkan sesuatu yang lebih cepat, lebih bisa disesuaikan, dan konsisten di berbagai sistem operasi yang saya gunakan setiap hari.
Di situlah WezTerm berperan.
Ini ditulis dalam Rust, dirancang untuk kecepatan, dan sangat ditujukan bagi orang-orang yang banyak menghabiskan waktu di dalam terminal. Setelah beralih, saya menyadari bahwa meskipun Windows Terminal adalah utilitas yang hebat, WezTerm adalah ruang kerja yang dirancang khusus.
WezTerm menyajikan kinerja yang dipercepat GPU dengan fleksibilitas lintas platform
RTX 4090 Anda seharusnya tidak hanya untuk bermain game
WezTerm adalah emulator terminal yang dipercepat GPU yang ditulis dalam Rust dan berjalan lancar di Windows, macOS, Linux, bahkan BSD. Alih-alih mendorong semua pekerjaan rendering melalui CPU seperti yang dilakukan sebagian besar terminal tradisional, ia menyerahkan pekerjaan itu ke GPU.
Perbedaannya terlihat begitu Anda mulai melakukan pekerjaan berat. Baik saat menelusuri log yang bergerak cepat, mengompilasi proyek besar, atau mengelola beberapa sesi sekaligus, WezTerm tetap berjalan lancar tanpa tersendat atau redraw lambat yang mungkin Anda alami di tempat lain.
Selain kinerja mentah, WezTerm juga melayani orang-orang yang peduli dengan tipografi. Ia mendukung ligatur, emoji, font cadangan, warna sejati, dan tema warna dinamis. Kedengarannya kosmetik, tetapi sebenarnya meningkatkan keterbacaan, membuat terminal Anda terasa seperti IDE penuh. Operator seperti >= atau => ditampilkan sebagai satu glif yang elegan daripada karakter terpisah, yang mengurangi kekacauan visual tanpa mengorbankan kejelasan.
WezTerm juga menyediakan multiplexing langsung di terminal, jadi Anda tidak perlu menginstal dan mengonfigurasi Tmux atau screen. Anda dapat membuat panel, mengganti tab, dan mengatur seluruh workspace di dalam antarmuka native. Multiplexer bawaan mencakup scrollback dengan pencarian penuh, dukungan mouse dengan Quick Select, dan mode penyalinan teks khusus. Palet perintah bawaan membuat navigasi menjadi intuitif: tekan Ctrl + Shift + P untuk menemukan setiap tindakan yang tersedia, yang bisa Anda cari dan jalankan.
Di atas itu, WezTerm menangani SSH secara langsung. Server jarak jauh terasa sama mudah diaksesnya seperti server lokal, dan jika Anda perlu bekerja dengan port serial atau papan Arduino, itu juga bisa dilakukan. Ini melampaui penggunaan command-line yang biasa dan mulai terasa lebih seperti konsol kontrol serbaguna bagi orang-orang yang sering bekerja di terminal.
Konfigurasi adalah tempat WezTerm benar-benar unggul
Jika kamu bisa membuat skripnya, WezTerm bisa melakukannya
Memulai dengan WezTerm melibatkan pembuatan file konfigurasi, meskipun prosesnya jauh lebih mudah daripada yang terdengar. Saya akan menjelaskannya di Windows karena itulah yang saya gunakan. File konfigurasi yang ingin Anda buat bernama wezterm.lua. Karena konfigurasi ini berbasis kode, akan sangat membantu untuk memahami apa itu LUA sebelum memulai, karena bahasa ringan ini menangani semua logikanya.
WezTerm memeriksa beberapa lokasi berbeda untuk file ini. Jika Anda hanya ingin segera mulai menggunakan, jalur standar sudah cukup. Jika Anda termasuk tipe orang yang menjaga ekosistem dotfiles tetap rapi, Anda mungkin akan lebih menyukai tata letak yang terorganisir.
- Pengaturan standar (mulai cepat):
C:\Users\NamaPenggunaAnda\.wezterm.lua - Pengaturan terorganisir (disarankan):
C:\Users\NamaPenggunaAnda\.config\wezterm\wezterm.lua
Jika membuat jalur-jalur tersebut terasa merepotkan secara manual, PowerShell dapat menanganinya untuk Anda sekaligus:
# This creates the organized folder structure and the file
New-Item -Path "$env:USERPROFILE\.config\wezterm\wezterm.lua" -ItemType File -ForceSetelah file itu ada, Anda bisa membukanya dengan editor apa pun yang Anda suka: Notepad, VS Code, atau bahkan editor terminal. Dan Anda tidak perlu menjelajahi File Explorer setiap kali ingin mengubah sesuatu. Setelah konfigurasi dibuat, WezTerm pada dasarnya bisa membuka pengaturannya sendiri untuk Anda:
- VS Code:
code ~/.config/wezterm/wezterm.lua - Notepad (Windows):
notepad $env:USERPROFILE\.config\wezterm\wezterm.lua - Nano (Terminal):
nano ~/.config/wezterm/wezterm.lua
Bagian yang menyenangkan adalah begitu Anda menyimpan file, WezTerm langsung memuat ulang perubahan Anda secara instan.
Berikut adalah konfigurasi dasar untuk memulai:
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
Cuplikan konfigurasi ini memberitahu WezTerm untuk menggunakan JetBrains Mono ukuran 13, menerapkan tema warna Tokyo Night, mengatur jendela menjadi 95% transparan, mengaktifkan bilah tab, dan mengatur kursor berkedip sebagai garis vertikal.
Begitu Anda menyimpan file, WezTerm langsung menangkap perubahan tersebut. Jika Anda ingin mencoba font atau tema yang berbeda, cukup ubah filenya dan lihat WezTerm menyesuaikan secara real time.
Anda juga dapat menimpa nilai konfigurasi melalui command line, sehingga mudah untuk menguji ide secara sementara tanpa mengubah konfigurasi Anda. Misalnya: wezterm --config color_scheme='Batman' menjalankan WezTerm dengan tema Batman hanya untuk sesi itu saja.
Karena konfigurasi ini didukung oleh Lua, Anda bisa membuat hal-hal sesulit yang Anda inginkan. Anda bisa mendefinisikan binding kunci khusus untuk alur kerja yang kompleks, beralih antara konfigurasi yang benar-benar berbeda untuk pekerjaan maupun proyek pribadi, atau bahkan menetapkan aturan kondisional yang bereaksi terhadap waktu dalam sehari atau jenis shell yang sedang Anda gunakan.
Misalnya, Anda mungkin hanya menginginkan transparansi pada monitor sekunder Anda, atau skema warna tertentu untuk host SSH yang berbeda. Setiap jendela dapat memiliki set tambahan pengaturan khusus jendela yang diterapkan melalui kode di file konfigurasi Anda, memungkinkan kustomisasi per-jendela yang menyesuaikan dengan konteks Anda.
Salah satu fitur favorit saya adalah sistem workspace. Fitur ini memungkinkan Anda untuk mengelompokkan jendela, tab, dan panel ke dalam sesi yang diberi nama. Bayangkan memiliki workspace terpisah untuk pengembangan frontend, layanan backend, dan pemeliharaan database, masing-masing dengan tata letak dan sesi yang terbuka sendiri. Anda dapat berpindah di antara mereka dan mempertahankan seluruh kondisi kerja Anda selama berhari-hari atau bahkan berminggu-minggu.
Sulit untuk meninggalkan Windows Terminal, tapi pengganti ini benar-benar layak dipertahankan.
Sejujurnya, WezTerm menuntut sedikit lebih banyak dari Anda di awal dibandingkan dengan terminal biasa yang berbasis klik. Anda akan menghabiskan waktu untuk menyesuaikan file wezterm.lua, mencoba skema warna, dan menyesuaikan tombol pintas yang terasa alami. Tetapi investasi awal itu akan terbayar. Alih-alih menggunakan pengaturan bawaan orang lain, Anda akan mendapatkan ruang kerja yang sesuai dengan kebiasaan dan preferensi Anda.