Tôi đã sử dụng ultisnips trong vài tuần nay.
Tôi nghĩ những ưu điểm chính của plugin này là:
- Nó là khá nhanh ngay cả với một số lượng lớn các đoạn có sẵn.
- Cú pháp cơ bản để xác định một đoạn mã mới rất dễ hiểu, do đó dễ dàng nhanh chóng tạo một đoạn mã mới làm những gì bạn muốn làm. (Đối với các đoạn phức tạp hơn, một số công việc bổ sung có thể được yêu cầu.)
- Nó hoạt động rất tốt ra khỏi hộp; một cấu hình cơ bản cho phép bạn sử dụng đoạn trích rất nhanh.
- Nó thực sự là cấu hình. Ngay cả khi cấu hình cơ bản hoạt động tốt, nếu bạn là người sử dụng năng lượng, bạn thực sự có thể điều chỉnh nó khá tốt.
Trước hết ultisnips là một công cụ đoạn trích, có nghĩa là plugin cung cấp các tính năng để sử dụng đoạn trích nhưng không tự cung cấp đoạn trích. Để có được đoạn trích, tác giả khuyến nghị
vim-snippets .
Khi bạn đã cài đặt cả hai plugin, bạn sẽ có thể sử dụng đoạn mã của mình.
Các định nghĩa của đoạn trích được lưu trữ trong các tệp có tên các mẫu sau :
ft.snippets
, ft_*.snippets
hoặc ft/*
, trong đó ft
là 'filetype' của tài liệu hiện tại và *
là ký tự đại diện giống như vỏ khớp với bất kỳ chuỗi nào kể cả chuỗi rỗng. (Lưu ý rằng cú pháp kiểu chấm chấm như cuda.cpp
được hỗ trợ.)
Bằng cách này, các đoạn mã dành riêng cho một kiểu tệp chỉ được mở rộng khi kiểu tệp của bộ đệm được đặt. Một kiểu tệp đặc biệt all
có sẵn để tạo các đoạn được mở rộng trên tất cả các bộ đệm.
Ngoài các đoạn được cung cấp bởi vim-snippets, người dùng có thể xác định đoạn trích của riêng mình. Đề nghị của tôi sẽ là đặt chúng trong thư
~/.vim/my-snippets/Ultisnips
mục theo cách này Ultisnips sẽ tìm thấy chúng mà không cần cấu hình bổ sung và thật dễ dàng để duy trì chúng trong kho lưu trữ dotfile.
Để mở rộng các đoạn mã, Ultisnips cung cấp một biến g:UltiSnipsExpandTrigger
xác định ánh xạ sẽ kích hoạt mở rộng (tôi đã chọn cách
**này khá thuận tiện cho tôi). Lưu ý rằng có thể tích hợp nhưng tôi không tự mình kiểm tra nó).
Đối với người dùng có quyền lực, Ultisnips cũng cung cấp một số chức năng để tùy chỉnh hành vi của bản mở rộng hoặc để kích hoạt nó theo cách khác. Xem:h
UltiSnips-trigger-functions
Đây là trình quản lý đoạn mã đầu tiên mà tôi thực sự sử dụng rộng rãi và tôi nghĩ rằng đây là một trình quản lý tốt để bắt đầu vì tính đơn giản của nó và khả năng điều chỉnh của nó.
Cuối cùng, đây là danh sách các screencasts giới thiệu tốt về plugin: