Więc moje pytanie jest proste. Czy dobrym pomysłem jest nauczenie się skryptów vim tylko po to, aby tworzyć vim, czy też powinniśmy zastosować w tym celu inne, bardziej akceptowane języki.
Na przykład ten link otwiera filmy z YouTube, które pokazują, jak używać Pythona do tworzenia wtyczek vim.
Skrypty Vima nie są w pełni przydatne, chyba że zamierza się utworzyć niektóre wtyczki Vima. Czy jest więc jakaś konkretna rzecz, której nie można zrobić, chyba że używa się tylko skryptów vim?
Odpowiedzi:
Moje wtyczki mają 99% w VimL. Powodem jest to, że VimL jest dostępny tam, gdzie jest zainstalowany. Jest znacznie bardziej skomplikowany w przypadku innych języków - na przykład rzadko kiedy Python jest zainstalowany na oknach, w których używam Vima.
Oczywiście VimL jest kłopotliwy, brakuje wielu fajnych funkcji, ale przynajmniej łatwiej jest mieć coś przenośnego.
1% nie ma w VimL, gdy muszę wchodzić w interakcje z zewnętrznym interfejsem API, który oferuje powiązania w języku Python.
BTW, prawie wszystko, czego nauczysz się o VimL, może być używane interaktywnie, gdy grasz za pomocą poleceń takich jak
:substitute
. Większość mapowań lub makr również nie potrzebuje Pythona.źródło
map()
że oczekuje ciągów lub (niepowiązanych):map
. Często muszę bawić sięexec
kończysz tworzenie fragmentów VimL. Pozwala napisać podstawową logikę w języku, w którym możesz być w stanie pracować o wiele bardziej wydajnie, ale nadal musisz nauczyć się VimL.Jeśli zamierzasz pisać wtyczki, zdecydowanie powinieneś przeczytać miły artykuł „Pisanie wtyczek Vima” Steve'a Losha ; nie tylko przy podejmowaniu decyzji, czy pozostaniesz przy VimL, czy nie, ale po porady dotyczące najlepszych praktyk.
Zawiera także krótką dyskusję na temat skryptowania Vima w innych językach :
Moje doświadczenie jest takie, że nawet gdy wtyczka inna niż VimL jest lepsza, ostatecznie przełączam się na czystą alternatywę VimL, głównie ze względu na przenośność. Vim działa na praktycznie każdym systemie (nawet brzydkich i starych starszych systemach), a narzut związany z konfigurowaniem zależności lub tymczasowym wyłączaniem tej wtyczki nie jest wart (szczególnie jeśli ciągle zapominasz, że ją wyłączyłeś i próbujesz używać jej mapowań / poleceń) .
Nawet jeśli łatwiej jest skonfigurować zależności, możesz napotkać pewne problemy (np .: niektóre wtyczki oparte na Pythonie nie działają w 100%, gdy pochodzą z folderów współdzielonych na maszynach wirtualnych). Dlatego kilka wtyczek, które napisałem, używa tylko VimL.
źródło