2023-10-08 –, 107
Language: Čeština
LunarVim je sada rozšíření, které transformuje Váš oblíbený textový editor Neovim do plnohodnotného IDE s minimálním úsilím a rozumným výchozím nastavením. Jedná se o moderní analogii k populárnímu SpaceVim, které podobně rozšiřuje klasický Vim.
Je to až k nevíře, že Neovim je tu s námi již skoro 8 let! Konkrétně první stabilní verze 0.1 (zer0ver) vyšla již na počátku listopadu roku 2015. Pokud v této době existovaly pochyby nad smysluplností či životaschopností této iniciativy, právě po těchto 8 letech nepřetržitého vývoje musely vzít všechny pochoby za své.
Jedním z nejpřelomovějších vydáním se jistě stala verze 0.5.0, která:
- přinesla dlouho očekávanou nativní podporu pro Language Server Protocol (LSP),
- rozšířila Lua API a umožnila tak psát konfigurační soubory v jazyce Lua (
init.lua
), - přidala experimentální podporu pro zvýrazňovájí syntaxe nazvanou
tree-sitter
.
Tyto změny odstartovaly doslova vesmírné závody v implementaci nových i reimplementaci již existujících rozšíření. A jak to tak u takto živelného a dynamického vývoje bývá, životnost mnoha projektů se v lepších případech měří v nižších jednotkách měsíců. Logicky tedy vyvstávají následující otázky:
- Jak vybrat ta správná rozšíření, která obstojí v čase i silné konkurenci?
- Je to vůbec možné?
- Budu se muset s každou aktualizací dlouhé hodiny seznamovat se seznamem změn a modifikovat svůj
init.lua
? - Mám na tohle vůbec čas? Chci tohle vůbec řešit?
S trochou nadsázky lze říct, že právě LunarVim je odpověd na všechny tyto otázky. Během této přednášky se zaměřím na:
- stručné představení historie a plánovaný budoucí vývoj projektu Neovim,
- představení hlavních konceptů projektu LunarVim,
- ukázku nejdůležitějších rozšíření a jejich ovládní,
- ukázku LSP podpory pro programovací jazyk Python,
- ukázku spolupráce s externími programy typu jesseduffield/lazygit, BurntSushi/ripgrep a ranger/ranger.
Beginners
I am an enthusiastic <del>student</del> freelancer in computer science with a focus on DevOps, artificial intelligence, machine learning. In my free time I switch between a huge variety of sports ranging from beach volleyball and biking to rock climbing. For more information see uhlik.me.