5 điểm bởi GN⁺ 2026-02-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bản cập nhật lớn bao gồm cải tiến mạnh cho ngôn ngữ script Vim9, chế độ diff được nâng cấp, tính năng tự động hoàn thành đầy đủ, hỗ trợ Wayland ở mức thử nghiệm và nhiều thay đổi khác
  • Tự động hoàn thành trong chế độ nhập được tăng cường với khớp mờ, hoàn thành từ dựa trên thanh ghi, và các tùy chọn completeopt mới
  • UI theo từng nền tảng được cải thiện với hỗ trợ Wayland UI và clipboard, bảng tab dọc, chế độ tối native trên Windows
  • Các tính năng ngôn ngữ như Enums, hàm Generic, kiểu Tuple được mở rộng, có thể dùng cả cho phát triển plugin dựa trên AI
  • Ngay cả sau khi Bram Moolenaar qua đời, Vim vẫn giữ triết lý Charityware, và tổ chức tiếp nhận hỗ trợ đã được chuyển sang Kuwasha

Các cải tiến chính

  • Tăng cường tính năng tự động hoàn thành
    • Hỗ trợ khớp mờ trong chế độ nhập, và có thể hoàn thành từ trực tiếp từ thanh ghi (CTRL-X CTRL-R)
    • 'completeopt' được bổ sung các tùy chọn nosort, nearest để kiểm soát chi tiết cách sắp xếp kết quả
  • Cải tiến nền tảng và UI
    • Hỗ trợ đầy đủ Wayland UI và clipboard
    • Trên Linux/Unix, tuân thủ XDG Base Directory Specification và dùng $HOME/.config/vim làm đường dẫn cấu hình
    • Bổ sung bảng tab dọc, Windows GUI hỗ trợ chế độ tối cho menu và thanh tiêu đề cùng biểu tượng độ phân giải cao
  • Bổ sung tính năng hỗ trợ học tập
    • Plugin hướng dẫn tương tác mới chạy bằng lệnh :Tutor được giới thiệu, mang lại trải nghiệm học hiện đại hơn so với vimtutor trước đây

Mở rộng ngôn ngữ script Vim9

  • Củng cố cấu trúc ngôn ngữ
    • Nay hỗ trợ Enum, hàm Generic, kiểu dữ liệu Tuple
    • Các hàm dựng sẵn được tích hợp thành phương thức đối tượng, và class hỗ trợ phương thức _new() được bảo vệ cùng biên dịch phương thức đầy đủ thông qua :defcompile
  • Tích hợp với công cụ AI
    • Hai dự án ví dụ sử dụng GitHub Copilot đã được công bố
      • Battleship in Vim9: hiện thực trò chơi kinh điển bằng class
      • Number Puzzle: câu đố logic dưới dạng plugin tương tác

Cải tiến chế độ Diff

  • Thuật toán Linematch
    • Mới được thêm vào thiết lập 'diffopt', giúp căn chỉnh các thay đổi giữa những dòng tương tự và cải thiện độ chính xác khi highlight
  • Diff Anchors
    • Tùy chọn 'diffanchors' cho phép chỉ định điểm neo để căn chỉnh diff theo từng đoạn trong các tệp phức tạp
  • Inline Highlighting
    • Hiển thị chi tiết các thay đổi trong cùng một dòng, có thể điều khiển bằng tùy chọn con "inline"
    • "inline:simple" được đưa vào giá trị 'diffopt' mặc định

Thay đổi giá trị mặc định

  • Nhiều giá trị cấu hình mặc định đã được cập nhật để phù hợp với môi trường hiện đại
    • 'history': 50 → 200
    • 'backspace': giá trị rỗng → "indent,eol,start"
    • 'diffopt': "internal,filler""internal,filler,closeoff,indent-heuristic,inline:char"
    • 'fontsize' (GTK): 10pt → 12pt
    • 'showcmd', 'ruler': đổi sang mặc định Bật

Cải tiến khác và sửa lỗi

  • Nhiều lỗ hổng bảo mật, rò rỉ bộ nhớ, và lỗi crash kể từ Vim 9.1 đã được khắc phục

Chuyển đổi hoạt động từ thiện

  • ICCF Holland giải thể
    • Sau khi nhà sáng lập Bram Moolenaar qua đời, quỹ không thể tiếp tục duy trì nên đã giải thể
    • Số tiền còn lại đã được chuyển để hỗ trợ dự án Kibaale
  • Hợp tác với Kuwasha
    • Tổ chức Kuwasha có trụ sở tại Canada tiếp quản các dự án tại Uganda và tiếp tục tài trợ
  • Charityware tiếp tục được duy trì
    • Vim vẫn được duy trì dưới hình thức Charityware, và người dùng có thể quyên góp qua Kuwasha

Lời cảm ơn và phát hành

  • Gửi lời cảm ơn tới tất cả những người đã đóng góp thông qua bản vá, bản dịch, báo lỗi và nhiều hình thức khác
  • Phiên bản mới nhất có trên trang Download

1 bình luận

 
GN⁺ 2026-02-15
Ý kiến trên Hacker News
  • Thật vui khi thấy Vim9 vẫn tiếp tục phát triển
    Dù có vẻ như trọng tâm đã phần nào chuyển sang phía Neovim, nhưng hệ sinh thái Neovim dường như tập trung vào những người muốn một môi trường kiểu IDE
    Điều tôi tò mò là liệu sẽ có nhiều tác giả plugin chuyển sang Vim9Script hơn không. Phần lớn người dùng Neovim đã chuyển sang plugin dựa trên Lua, nên có vẻ động lực hỗ trợ cả hai bên đã giảm đi

    • Tôi thực sự rất thích vim9script, nên trừ khi cần nó chạy trên các bản vim khác, tôi viết hầu hết plugin bằng nó
      Đặc biệt là tôi rất vui vì đã có thêm hỗ trợ tuple
    • Tôi không phát hành plugin, nhưng hỗ trợ Lua của Neovim là lý do chính khiến tôi rời Emacs
      Cả Elisp lẫn Vimscript đều quá gò bó với tôi
      Dù vậy, nếu có quyền chọn, có lẽ tôi vẫn muốn một ngôn ngữ khác chứ không phải Lua
  • Điều ấn tượng là Vim đã được duy trì theo mô hình Charityware suốt hơn 30 năm
    Sau khi Bram Moolenaar qua đời, quỹ ICCF Holland đã giải thể, nhưng số tiền còn lại được chuyển để tiếp tục hỗ trợ dự án Kibaale ở Uganda
    Tôi chọn vim vì lý do kỹ thuật, nhưng sau khi biết Bram đã duy trì những hoạt động quyên góp này với thiện ý, tôi càng thấy trân trọng hơn

    • Hồi trước khi làm ở một tập đoàn lớn, tôi từng cố xin phê duyệt sử dụng vim nội bộ, nhưng điều khoản charityware này khiến bộ phận pháp lý tranh cãi rất lâu về việc có phát sinh nghĩa vụ quyên góp hay không
      Cuối cùng việc nó đã có sẵn trong bản phân phối Linux thì mọi người cứ lặng lẽ bỏ qua
      Dù vậy, tôi hoàn toàn ủng hộ ý nguyện của Bram
    • Tôi tò mò không biết có đúng là khi mọi người quyên góp cho vim thì số tiền đó sẽ được chuyển tới tổ chức hỗ trợ trẻ em ở Uganda không
  • Tôi là fan của vim nhưng cuối cùng đã chuyển sang nvim
    Thành thật mà nói, tôi ước những người bảo trì vim có thể tìm ra cách nào đó để hợp nhất với nvim

    • Tôi nghĩ việc không liên tục thêm tính năng mới mà giữ được độ ổn định cũng rất có giá trị
      Nó hoạt động giống hệt nhau trên máy cục bộ, Raspberry Pi và VM Ubuntu 20.04 của tôi
      Điểm cốt lõi của Vim là sự đơn giản và nhất quán, nên nếu muốn nhiều tính năng hơn thì thà dùng vscode với tiện ích mở rộng vim còn hơn
      Tôi từng thử nvim trước đây nhưng không thấy lợi ích lớn nào, rồi bỏ vì lệnh :sh hoạt động khác đi
    • Hai dự án giờ đã khác nhau ở cấu trúc lõi nên tôi nghĩ hợp nhất là điều không thể
      Cá nhân tôi thích hướng đi của vim9
    • Tôi cũng đã chuyển sang nvim, nhưng mỗi lần có bản phát hành mới lại cân nhắc quay về
      Thành thật mà nói tôi ghét Lua. Việc toàn bộ hạ tầng đều chuyển sang Lua gần như là điều không thể tránh khỏi
      May mà hỗ trợ XDG đã được giải quyết
    • Tôi dùng song song cả vim lẫn nvim. Chỉ cần để init.nvim đọc ~/.vimrc là ổn
    • Nhưng tôi tự hỏi liệu nvim giờ đã có một chuẩn UI được xác lập hay chưa
  • Mức độ mà người ta có thể đùa kiểu “Tính năng AI đâu rồi?” khiến bản phát hành này mang lại cảm giác mới mẻ như một bản cập nhật lớn không có AI

    • Vim không cần AI, nhưng tôi thực sự ước nó có đa con trỏ
      Đó cũng là lý do trước đây tôi chuyển sang Sublime Text, và giờ nó là tính năng không thể thiếu với tôi trong VSCode hay Zed
      Có plugin thật đấy, nhưng nếu được hỗ trợ mặc định thì chắc sẽ mạnh hơn nhiều
    • Vim đã có đủ AI rồi — chính là bàn tay và bộ não của người dùng
    • Theo tôi, vim mới là công cụ phù hợp nhất cho agentic coding
    • Tôi cũng tò mò. Dạo này mọi người dùng AI trong vim như thế nào? Tôi có thấy các script ollama, nhưng muốn biết các trường hợp sử dụng phổ biến là gì
    • Nhân tiện thì vim cũng tương thích tốt với plugin AI
  • Trước đây đã từng có thời Bram Moolenaar từ chối cập nhật vim cho đến khi Neovim xuất hiện

    • Giờ ông ấy đã qua đời, tôi nghĩ không cần thiết phải nhắc lại chuyện đó nữa
  • Tôi thấy lạ vì danh sách tag GitHub không có tag v9.2

    • Giờ đã có thêm các tag v9.2.0 và v9.2.0000
    • Commit liên quan là liên kết này. Tại thời điểm viết bình luận thì tag vẫn chưa được gắn
  • Sau một thời gian dài quan tâm, cuối cùng tôi cũng bắt đầu học vim một cách nghiêm túc
    Nhờ AI mà tôi có thời gian trống giữa các yêu cầu để học, và việc nhờ IDE hay AI xử lý những chỉnh sửa đơn giản lại thấy còn chậm hơn
    Nhờ quy trình làm việc agentic mà tôi có thể xử lý các chỉnh sửa chi tiết và công việc lặp lại nhanh hơn nhiều

    • Nhưng với tôi thì AI lại khiến vim không còn cần thiết nữa
      Trước đây tôi là người tích cực truyền bá vim, nhưng giờ giải quyết hầu hết lỗi bằng lệnh giọng nói và chỉnh sửa bằng AI
      Dù vậy, tôi vẫn rất yêu triết lý của vim
  • Thật vui khi biết vim vẫn tiếp tục phát triển

  • Windows GUI giờ đã hỗ trợ chế độ tối, chế độ toàn màn hình được cải thiện và biểu tượng độ phân giải cao
    Xin chúc mừng bản phát hành mới, tôi rất mong đến ngày được áp dụng những cải tiến tuyệt vời này

    • Đặc biệt đây là bản cập nhật đúng thời điểm hoàn hảo cho những ai bị bộ phận IT chặn quyền truy cập Notepad++