Plugin Neovim xem assembly ngay trong cửa sổ nổi, không cần mạng

Công nghệ11 tháng 11, 2026·2 phút đọc

Một plugin mới cho Neovim mang ý tưởng của Godbolt vào trình soạn thảo: hiển thị mã assembly của C, C++ và Rust trong cửa sổ nổi, dùng trình biên dịch cài cục bộ nên không cần kết nối internet. Công cụ hướng tới lập trình viên hệ thống muốn kiểm tra nhanh mã máy sinh ra mà không phải rời khỏi editor hay mở trình duyệt.

Plugin Neovim xem assembly ngay trong cửa sổ nổi, không cần mạng

Plugin Neovim xem assembly trong cửa sổ nổi, không cần internet

Một plugin mã nguồn mở mới cho Neovim cho phép xem mã assembly (hợp ngữ — ngôn ngữ bậc thấp gần với mã máy) của các đoạn code C, C++ và Rust ngay trong một cửa sổ nổi, lấy cảm hứng từ công cụ Godbolt quen thuộc. Điểm đáng chú ý: công cụ dùng trình biên dịch cài sẵn trên máy nên hoạt động hoàn toàn ngoại tuyến, không cần kết nối internet.

Điều này có ý nghĩa với những lập trình viên hệ thống thường xuyên phải kiểm tra trình biên dịch thực sự sinh ra mã gì — từ tối ưu vòng lặp, kiểm tra vector hóa cho đến bắt lỗi hiệu năng — mà không phải rời khỏi trình soạn thảo hay mở trình duyệt.

Cách cài đặt và sử dụng

Plugin có tên AssemblyForNeovim, được cài qua lazy.nvim (trình quản lý plugin phổ biến của Neovim) với cấu hình tối giản:

{
  "0xdeadf1sh/AssemblyForNeovim",
  config = function()
    require("asm").setup()
  end,
}

Thao tác sử dụng:

  • Ở normal mode, nhấn a để xem assembly của hàm chứa con trỏ hiện tại.
  • Ở visual mode, nhấn a hoặc gõ :'Asm để xem assembly của các dòng được chọn.
  • Trong cửa sổ kết quả: phím +/- để đổi mức tối ưu -O của trình biên dịch, R để chạy lại, q để đóng cửa sổ.

Yêu cầu môi trường

Plugin cần có cc/c++ hoặc rustc/cargo trên PATH (biến môi trường chứa đường dẫn các chương trình thực thi). Nếu tìm thấy file compile_commands.json — tệp mô tả chính xác lệnh biên dịch của từng file trong dự án — plugin sẽ dùng nó để tạo ra assembly sát với bản build thật.

Góc nhìn

Với lập trình viên C, C++ và Rust, việc kiểm tra assembly ngay trong Neovim giúp rút ngắn vòng lặp "sửa code — xem mã máy" mà không phụ thuộc vào dịch vụ trực tuyến. Vì mọi thứ chạy cục bộ, công cụ phù hợp cả với môi trường làm việc bị hạn chế kết nối internet hoặc các dự án có mã nguồn không được phép đưa lên dịch vụ bên ngoài.

Tuy nhiên, công cụ này không thay thế được toàn bộ Godbolt: kết quả phụ thuộc vào phiên bản trình biên dịch và cờ biên dịch trên máy, và nếu không có compile_commands.json thì đầu ra có thể khác bản build thực tế. Các đội phát triển nên đảm bảo môi trường cục bộ khớp với cấu hình CI/CD để kết quả xem assembly có ý nghĩa.

Nguồn: github.com · Quy trình biên tập

Chia sẻ:FacebookX