LinuxDays 2023

LunarVim
08.10.2023 , 107
Jazyk: Č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.

Obtížnost

Beginners

Viz také:

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.