Birkaç haftadır ultisnip kullanıyorum .
Bu eklentinin ana avantajları şunlardır:
- Çok sayıda snippet ile bile oldukça hızlı.
- Yeni bir pasajı tanımlamanın temel sözdizimini anlamak kolaydır, böylece yapmak istediğiniz şeyi yaparak hızlı bir şekilde yeni bir pasaj oluşturmak kolaydır. (Daha karmaşık snippet'ler için bazı ek işler gerekebilir.)
- Kutunun dışında çok iyi çalışıyor; temel bir yapılandırma, snippet'leri çok hızlı bir şekilde kullanmanızı sağlar.
- Gerçekten yapılandırılabilir. Temel konfigürasyon iyi çalışıyor olsa bile, güçlü bir kullanıcıysanız, gerçekten çok hassas bir şekilde ayarlayabilirsiniz.
Her şeyden önce ultisnips, bir parçacığın motorudur; bu, eklentinin, snippet kullanma özellikleri sağlar, ancak snippet'lerin kendilerini sağlamadığı anlamına gelir. Snippet'leri almak için, yazar vim-snippet'lerini önerir
.
Her iki eklentiyi de yükledikten sonra snippet'lerinizi kullanabilirsiniz.
Snippet'ler: tanımları desenleri aşağıdaki adlı dosyalarda saklanır
ft.snippets
, ft_*.snippets
ya ft/*
, nerede ft
şimdiki belgenin filetype '' ve *
boş dize içeren bir kabuk gibi joker eşleştirme herhangi bir dizedir. (Gibi noktalı filetype sözdizimi cuda.cpp
desteklendiğini unutmayın.)
Bu şekilde bir dosya türüne özgü snippet'ler yalnızca arabellek dosya türü ayarlandığında genişletilir. all
Tüm tamponlarda genişletilmiş snippet'leri oluşturmak için özel bir dosya türü mevcuttur.
Vim-snippet'lerin sağladığı snippet'lere ek olarak, kullanıcı kendi snippet'lerini tanımlayabilir. Benim tavsiyem onları
~/.vim/my-snippets/Ultisnips
bu şekilde dizine yerleştirmek olacaktır. Ultisnips onları ek konfigürasyona gerek kalmadan bulabilir ve bir dotfile deposunda tutmaları kolaydır.
Snippet'leri genişletmek için Ultisnips g:UltiSnipsExpandTrigger
, genişletmeyi tetikleyecek olan eşlemeyi tanımlayan bir değişken sağlar (benim **için oldukça uygun olanı seçtim
). Entegrasyonun mümkün olması gerektiğine dikkat edin, ancak tek başıma test etmedim).
Uzman kullanıcılar için Ultisnips, genişletme davranışını özelleştirmek veya farklı bir şekilde tetiklemek için de bazı işlevler sunar. Görmek:h
UltiSnips-trigger-functions
Bu gerçekten çok kullandığım ilk pasaj yöneticisi ve sanırım bunun kutudan çıktığı basitliği ve ayarlanması için iyi bir başlangıç.
Sonunda, eklentiye iyi bir giriş sağlayan bir ekran listesidir: