Vim'de otomatik olarak eşleşen parantezleri nasıl oluştururum?
Gördüğünüz gibi bu sorun önemsiz değil. Cevap basittir: Sadece bir eklenti gibi AutoClose veya smartinput . Sadece [] tuşlarını saf bir şekilde yeniden eşleştirmek size birkaç satırda edgecases sunacaktır, bu yüzden bu eklentiler yapılır ve neden genellikle oldukça karmaşıktırlar (eğer iyi ise).
Bu yüzden kapatma desteğini takmak için UltiSnips kullandım
Bunun yerine deneyebilirsiniz (orijinal önerimden farklıdır):
inoremap ( ()<CR>=UltiSnips_Anon('$1)$0', ')')<CR>
Burada UltiSnips maçta yer almak (yerine çizgiyi böler main. Bunun için bir snippet eklentisi kullanmayla ilgili sorun, (genellikle) iç içe geçirmeyi desteklememesidir, bu nedenle sonraki (iç içe) snippet yerleştirildiğinde atlama konumlarını unutacaktır.
Küme ayracı çiftinden atlamak için kombinasyon Ctrl-jkullanılır.
Ctrl-jUltiSnips veya çakışan eklenti için yeniden eşleme yapabilirsiniz . Eşlemeler belgelerde listelenmiyorsa :map/imap/nmap <key>, eşlemeyi göstermek için kullanabilirsiniz . Her Ctrl-jiki eklentiyi de seçmek ve seçmek ve yapmak istiyorsanız, şunları istersiniz:
- düşündüğünden şüphelendiğimden çok daha gelişmiş bir şey
- gerçekten istemediğinden şüphelendiğim bir şey
Bu bash döngüsünü düşünün:
while (( ${arr1[i]} < ${arr2[i<CURSOR>]} )); do
[next_snippet_position_marker]
done
Bu durumda, Ctrl-jdöngü gövdesine ulaşmak için 5 kez basmanız gerekir . Karşılık gelen çiftin üstünden atlamak için kapanış parantezlerini kullanmak, imlecin hareket etmesini istediğiniz yeri çok daha fazla kontrol etmenizi sağlar. Eklenen çiftleri takip etmek ve kullanmak için bir yığın uygulayabilirsinizCtrl-j etmek ve pop ile taşımak için üzere , ancak parantezleri yığından kaldırmadan manuel olarak silmeye başlarsanız sorun yaşarsınız. Böylece destek eklentilerinin çözmeye çalıştığı sorunları çözmeye başlayacaksınız. Bu yeniden icat etmek zor bir tekerlek.
Bunu genişleterek, Ctrl-jparantez ve snippet'lerden atlamak için başlangıçta istediğinizi alabilirsiniz . Parçacıklar konumlarını temsil etmek için kukla bir değer kullanırsanız ve Ctrl-jparçacıkların veya parantezlerin ele alınmasına karşılık gelen dinamik yeniden eşleme ile bunları kapama parantezlerine ek olarak yığına doğru iterseniz. Ancak, o zaman sihirbazın ne olması gerektiğini anlamak için oldukça gelişmiş bir sezgisel tarama uygulamanız gerekir, çünkü şu anda snippet ekleme eklentilerinin yaratıcıları ve eşleşen eklentileri ayrı ayrı destekleyen şu anda iki sorunu ele alıyorsunuz ve bu sorunları tekrar çözerek , , iyi, büyü kolaylık sağlamak ve, çözümleri.
Konfor ve rahatlığı kontrol altına alır. Bu durumda kontrolün size daha iyi hizmet edeceğini düşünüyorum, yani bu sorunları ve bunlarla ilişkili eklentileri ve tuş eşlemelerini ayrı tutmalısınız. Hala kolaylık istiyorsanız, yapılabilir, ancak zor.
)remapping,c-jo kudreti işe.