Chuyển tới nội dung chính

Funput Term

Funput Term cho phép bạn gõ tiếng Việt ngay trong ứng dụng terminal — bằng cách bọc chương trình bạn chạy qua một lớp PTY trong suốt, rồi biến các phím ASCII thành tiếng Việt trước khi chúng tới chương trình con.

Đây không phải một IME: không cần hook hệ thống, không xin quyền, không chạy nền. Nó chạy trong mọi terminal emulator và chỉ hoạt động với đúng chương trình bạn bọc.

funput term -- $SHELL # bọc cả shell của bạn
funput term -- claude # hoặc chỉ một lệnh cụ thể

funput term là một lệnh con của binary thương hiệu funput (cài qua Homebrew).

Vì sao dùng Funput Term?

  • Gõ tiếng Việt ở nơi IME chịu thua. Nhiều TUI và ứng dụng terminal (vim, REPL, công cụ CLI…) không phối hợp tốt với IME hệ thống. Funput Term xử lý ở tầng luồng byte nên hoạt động bất kể ứng dụng.
  • Không quyền, không cài đặt hệ thống. Không cần cấp quyền Accessibility hay cài input method vào hệ thống — chỉ là một chương trình bạn chạy.
  • Hành vi gõ y hệt IME Funput. Dùng chung engine với bộ gõ Funput, nên cách bỏ dấu, khôi phục tiếng Anh… đều nhất quán.

Tính năng

  • Telex & VNI — cùng lõi xử lý với IME Funput.
  • Khôi phục tiếng Anh thông minh (smart restore), kiểm tra chính tả, tự động viết hoa đầu câu, và gõ tắt (text expansion) — kế thừa từ engine chung.
  • Bật/tắt tiếng Việt bằng Ctrl-\.
  • Đổi Telex ↔ VNI ngay lúc gõ bằng Ctrl-^.
  • Chỉ báo trạng thái trực quan: tiêu đề cửa sổ hiển thị Funput · VI · Telex (VI/EN và phương thức hiện tại), kèm đổi màu con trỏ khi đang gõ tiếng Việt.
  • Dùng chung cấu hình với IME Funput — đọc cùng file settings.json.
Không phải IME — đừng chạy chung

Funput Term và IME hệ thống (macOS IMKit, fcitx5/ibus trên Linux) xử lý tiếng Việt độc lập. Đừng bật cả hai cùng lúc: IME hệ thống soạn tiếng Việt trước khi phím tới terminal, khiến Ctrl-\ có vẻ "không tắt được". Hãy đặt IME hệ thống về tiếng Anh khi dùng Funput Term.

Cấu hình

Funput Term đọc cấu hình theo thứ tự ưu tiên: cờ dòng lệnh > biến môi trường > file settings.json > mặc định.

File cấu hình dùng chung với IME Funput tại ~/.config/Funput/settings.json (đặt lại bằng FUNPUT_CONFIG). Các trường có tác dụng: method, toneStyle, enabled, smartRestore, eagerRestore, spellCheck, autoCapitalize, shortcuts.

Biến môi trường để ghi đè nhanh:

BiếnÝ nghĩa
FUNPUT_METHODtelex hoặc vni
FUNPUT_ENABLEDBắt đầu ở chế độ VI (true) hay EN (false)
FUNPUT_TOGGLEPhím bật/tắt, vd ctrl-\, ctrl-], ctrl-space
FUNPUT_CYCLE_METHODPhím đổi Telex↔VNI, hoặc off để tắt
FUNPUT_CURSOR_COLOR_VIMàu con trỏ khi đang gõ tiếng Việt
FUNPUT_CONFIGĐường dẫn file settings.json khác
# Ví dụ: bọc shell, ép dùng Telex, bắt đầu ở chế độ tiếng Việt
FUNPUT_METHOD=telex FUNPUT_ENABLED=true funput term -- $SHELL

Bạn cũng có thể chỉ định phương thức trực tiếp bằng cờ:

funput term --method telex -- claude

Luôn bật trong shell

Để không phải gõ funput term -- mỗi lần, thêm alias vào shell của bạn:

# In ra đoạn tích hợp (an toàn để xem trước)
funput term install --alias claude

# Ghi thẳng vào file rc của shell (zsh/bash/fish tự nhận diện)
funput term install --alias claude --write

Sau đó claude sẽ tự chạy qua funput term -- claude. Xem thêm ở phần Cài đặt.

Cài đặt