Kasane: Front-end mới cho Kakoune với GPU rendering và hệ thống plugin WASM
Kasane là một giao diện thay thế cho trình soạn thảo Kakoune, mang lại khả năng hiển thị GPU mượt mà, hỗ trợ plugin WASM sandbox và tính năng multi-pane tích hợp mà không cần tmux. Công cụ này giải quyết các vấn đề về hiển thị Unicode, clipboard và cho phép mở rộng UI mạnh mẽ chỉ với vài dòng mã Rust.

Kasane là một dự án mới đầy thú vị dành cho những lập trình viên yêu thích trình soạn thảo Kakoune. Về bản chất, Kakoune vẫn chịu trách nhiệm xử lý việc chỉnh sửa văn bản, nhưng Kasane sẽ xây dựng lại toàn bộ pipeline hiển thị — dù là trên terminal hay thông qua GPU — và mở rộng toàn bộ giao diện người dùng (UI) để có thể tùy biến thông qua các plugin.
Điểm đặc biệt nhất của Kasane là nó cho phép bạn mở rộng tính năng bằng các plugin WASM (WebAssembly) được sandbox hóa an toàn. Một plugin hoàn chỉnh có thể được viết chỉ với 15 dòng mã Rust. Đặc biệt, file cấu hình kakrc hiện tại của bạn vẫn hoạt động bình thường mà không cần thay đổi.
Demo Kasane
Những cải tiến nổi bật
Khi bạn thay thế alias kak bằng kasane, những cải tiến sau sẽ được áp dụng tự động:
- Hiển thị không bị nhấp nháy (Flicker-free): Không còn hiện tượng tearing khi vẽ lại màn hình, mang lại trải nghiệm mượt mà hơn.
- Multi-pane tích hợp: Không cần phụ thuộc vào tmux nữa, Kasane hỗ trợ chia khung (splits) có sẵn với thanh trạng thái riêng cho từng khung.
- Clipboard hoạt động trơn tru: Hỗ trợ tốt trên Wayland, X11, macOS và cả SSH mà không cần cài đặt thêm công cụ như
xclip. - Unicode chuẩn xác: Các ký tự CJK và emoji được hiển thị đúng cách bất kể terminal bạn đang sử dụng.
Ngoài ra, nếu bạn thêm cờ --ui gui, Kasane sẽ kích hoạt backend GPU với khả năng hiển thị font hệ thống, hoạt ảnh mượt mà và hiển thị hình ảnh trực tiếp trong văn bản.
Hệ thống Plugin mạnh mẽ
Các plugin trong Kasane có thể thêm vào các lớp phủ nổi (floating overlays), chú thích dòng, ảo văn bản, gộp code (code folding), trang trí gutter và nhiều hơn nữa. Một số plugin mẫu đi kèm mà bạn có thể thử ngay bao gồm:
- fuzzy-finder: Bộ chọn file dạng nổi sử dụng fzf.
- color-preview: Hiển thị màu sắc trực tiếp ngay cạnh mã hex.
- pane-manager: Quản lý chia khung kiểu tmux với phím tắt Ctrl+W.
- image-preview: Hiển thị hình ảnh trong cửa sổ nổi neo tại vị trí con trỏ.
- smooth-scroll: Cuộn trang có hoạt ảnh.
Mỗi plugin được biên dịch thành một gói .kpk duy nhất — sandbox hóa, có thể kết hợp và sẵn sàng cài đặt. Dưới đây là ví dụ về toàn bộ mã nguồn của plugin sel-badge (hiển thị số lượng lựa chọn trong thanh trạng thái):
kasane_plugin_sdk::define_plugin! {
manifest: "kasane-plugin.toml",
state {
#[bind(host_state::get_cursor_count(), on: dirty::BUFFER)]
cursor_count: u32 = 0,
},
slots {
STATUS_RIGHT(dirty::BUFFER) => |_ctx| {
(state.cursor_count > 1).then(|| {
auto_contribution(text(&format!(" {} sel ", state.cursor_count), default_face()))
})
},
},
}
Cài đặt và Sử dụng
Kasane yêu cầu Kakoune phiên bản 2024.12.09 hoặc mới hơn. Các gói binary giúp bạn bỏ qua việc cài đặt Rust toolchain.
Bạn có thể cài đặt Kasane thông qua các lệnh sau:
- Arch Linux:
yay -S kasane-bin - macOS:
brew install Yus314/kasane/kasane - Nix:
nix run github:Yus314/kasane - Từ nguồn:
cargo install --path kasane
Sau khi cài đặt, bạn có thể chạy trực tiếp:
kasane file.txt # Cấu hình Kakoune của bạn vẫn hoạt động
alias kak=kasane # Thêm vào .bashrc / .zshrc
Để sử dụng backend GPU, bạn cần cài đặt với tính năng gui: cargo install --path kasane --features gui, sau đó chạy lệnh kasane --ui gui.
Hiện tại, Kasane đã ổn định như một front-end cho Kakoune và sẵn sàng sử dụng hàng ngày, trong khi API cho plugin đang tiếp tục được phát triển.
Bài viết liên quan

Công nghệ
KernelUNO: Hệ điều hành kiểu Unix thu nhỏ chạy trên Arduino UNO chỉ với 2KB RAM
21 tháng 4, 2026

Công nghệ
Tối ưu hóa quyết định với AI: Giải quyết bài toán Multi-Armed Bandit bằng Thompson Sampling
21 tháng 4, 2026

Công nghệ
Di sản của Tim Cook: Biến Apple thành đế chế dịch vụ và thách thức AI cho người kế nhiệm
21 tháng 4, 2026
