11. tháng 2 2025
Gần đây, các tài liệu Markdown tôi đang viết ngày càng trở nên dài dòng. Khi tài liệu quá dài, nó thường mất đi tính logic và trông lộn xộn. Tôi tự hỏi nếu có cách nào để hiển thị danh sách tiêu đề ở thanh bên như trong Word thì cấu trúc sẽ rõ ràng hơn rất nhiều. Thật may mắn là tôi chỉ sử dụng tiêu đề cấp hai, điều này sẽ giúp mọi thứ gọn gàng hơn.
Mặc dù vista.vim chủ yếu được thiết kế để hiển thị danh sách hàm, biến và lớp cho các tệp mã nguồn, nhưng công cụ này cũng có khả năng hiển thị các tiểu mục của tệp Markdown. Sau khi xem qua một số hình ảnh minh họa, tôi thấy rằng hiệu quả rất tốt và quyết định thử nghiệm ngay lập tức.
Nếu bạn đang sử dụng Vundle, hãy thêm dòng sau vào tập tin vimrc; với Neovim thì sửa đổi init.vim:
Plugin 'liuchengxu/vista.vim'
Tiếp theo, thực hiện lệnh sau để cài đặt plugin:
:PluginInstall
Để kích hoạt chức năng hiển thị bảng mục lục, nhập lệnh:
:Vista
Kết quả sẽ giống như hình dưới đây: !Hiệu ứng Vista trong Vim
Để ẩn bảng mục lục, sử dụng lệnh:
:Vista!
Đối với các ngôn ngữ lập trình khác nhau, bạn cần phải cài đặt công cụ ctags trước khi sử dụng Vista. Với hệ thống Ubuntu hoặc các phiên bản tương thích, hãy chạy lệnh sau:
sudo apt install universal-ctags
Kết quả hiển thị sẽ như hình sau: !Hiệu ứng Vista với Python
TOC là từ viết tắt của "Table of Contents" - Bảng mục lục. Trên GitHub, nhiều dự án đều có phần TOC trong tệp README của mình. Theo kinh nghiệm cá nhân, nếu nội dung Markdown đánh bài online quá dài, việc có một TOC sẽ giúp người đọc dễ dàng điều hướng hơn.
Có nhiều plugin hỗ trợ tạo TOC tự động và thậm chí còn hỗ trợ tiếng Việt. Tuy nhiên, trong trường hợp HTML sinh ra không chứa thuộc tính id phù hợp, bạn có thể khắc phục vấn đề này bằng cách sử dụng JavaScript ở phía frontend.