LinuxDays 2023

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

LunarVim
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.

Difficulty

Beginners

See also:

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.