Saya telah menggunakan ultisnips selama beberapa minggu sekarang.
Saya pikir kelebihan utama dari plugin ini adalah sebagai berikut:
- Ini cukup cepat bahkan dengan banyak cuplikan tersedia.
- Sintaks dasar untuk mendefinisikan snippet baru mudah dipahami, sehingga mudah untuk membuat snippet baru dengan melakukan apa yang ingin Anda lakukan. (Untuk cuplikan yang lebih kompleks, beberapa pekerjaan tambahan mungkin diperlukan.)
- Ini bekerja sangat baik di luar kotak; konfigurasi dasar memungkinkan Anda menggunakan snippet dengan sangat cepat.
- Ini benar-benar dapat dikonfigurasi. Bahkan jika konfigurasi dasar berfungsi dengan baik, jika Anda adalah pengguna yang kuat, Anda dapat menyetelnya dengan sangat halus.
Pertama-tama ultisnips adalah mesin snippet yang berarti bahwa plugin menyediakan fitur untuk menggunakan snippet tetapi tidak menyediakan snippet itu sendiri. Untuk mendapatkan potongan, penulis merekomendasikan
potongan-potongan vim .
Setelah kedua plugin terpasang, Anda dapat menggunakan cuplikan.
Definisi potongan disimpan dalam file bernama pola berikut:
ft.snippets
,, ft_*.snippets
atau ft/*
, di mana ft
'filetype' dari dokumen saat ini dan *
wildcard seperti shell yang cocok dengan sembarang string termasuk string kosong. (Perhatikan bahwa sintaks tipe file bertitik suka cuda.cpp
didukung.)
Dengan cara ini cuplikan khusus untuk tipe file diperluas hanya ketika tipe file buffer diatur. Tipe file khusus all
tersedia untuk membuat cuplikan diperluas pada semua buffer.
Selain snippet yang disediakan oleh vim-snippet, pengguna dapat menentukan snippetnya sendiri. Rekomendasi saya adalah untuk menempatkan mereka di direktori
~/.vim/my-snippets/Ultisnips
dengan cara ini Ultisnips akan menemukannya tanpa konfigurasi tambahan dan mudah untuk mempertahankannya dalam repositori dotfile.
Untuk memperluas cuplikan, Ultisnips menyediakan variabel g:UltiSnipsExpandTrigger
yang mendefinisikan pemetaan yang akan memicu ekspansi (saya memilih
**mana yang cukup nyaman bagi saya). Perhatikan bahwa integrasi seharusnya dimungkinkan tetapi saya tidak mengujinya sendiri).
Untuk pengguna listrik, Ultisnips juga menyediakan beberapa fungsi untuk menyesuaikan perilaku ekspansi, atau untuk memicunya secara berbeda. Lihat:h
UltiSnips-trigger-functions
Ini adalah manajer cuplikan pertama yang benar-benar saya gunakan secara luas dan saya pikir ini adalah yang baik untuk memulai dengan kesederhanaan di luar kotak dan kemungkinan untuk disetel.
Akhirnya di sini adalah daftar screencasts yang memberikan pengantar yang bagus untuk plugin: