Tak nejak bych cekal, kdyz uz nekdo vyviji neco, co ma byt lepsi nez vim, ze opusti stavajici omezeni. Tim mam namysli ze vsechno je porad delane v 'textovem' rezimu - ramecky napovidacu jsou textove znaky, misto plnohodnotne grafiky. Me by se treba libilo, kdyby napoveda k dane funkci byla psana mensim pismem, takze napoveda by nezabrala tolik mista. Mohly by tam byt hezke obrazky (ikonky pro metoda, funkce, trida), jak zname z jinych IDE. Atd.
Chapu ze vyvojari chteji udrzet vse 'textove' aby to bylo pouzitelne i v konzoli, ale mohl by tam byt nejaky fallback rezim.
Protoze jinak moc nevidim smysl vyvoje, mam pocit ze kakoune i helix jsou jen neovim s pluginy. Na svych strankach se kakoune i helix srovnavaji s vimem, a ze jsou rychlejsi. Ale to je neovim taky, a navic ma skoro stoprocentni zpetnou kompatibilitu.
jj plná podpora grafiky by byla fajn. Třeba Gvim/Kvim sice umí otevřít vlastní okno s potenciálně plným grafickým výstupem, ale stále je to omezené na "terminálovou filozofií" (s pár vychytávkami navíc). Takže například minimapy používají Braillovo písmo https://github.com/severin-lemaignan/vim-minimap a https://github.com/wfxr/minimap.vim
A ty ses na to podival? Jsem to ted spustil, a ten jejich editor ani nema modalni rezim prace. Fakt uz se nechci vracet ke zpusobu prace beznych editoru, kdy clovek musi soustavne prehmatavat na klavesy sipky, PgDn, Home atd. Sto let za opicema tydle ty editory. Navic se to dlouho pousti (electron, zeano) a zere to hromadu ramky uplne zbytecne.
Vubec nechapu co zminka o Theia dela v diskuzi u clanku o Helixu (Kakoune/Neo/Vim).
Keby ste tolko casu kolko venuje rozculovaniu sa venovali googlu dostali by ste sa k nasledovnej linke:
https://marketplace.visualstudio.com/items?itemName=vscodevim.vim
A odpovedal som konkretne na toto: "konfigurovatelny graficky editor s podporou ruznych typu ovladani"
Cooo? Asi jsem mimo. Vy jste psal, cituji:
" Pavel Tavoda: Stoji tiez za pozretie: https://theia-ide.org/"
A ja pisu ze ta theia z Vaseho(!) odkazu stoji za houby. Tak proc mi reagujete nejakym rozcilovanim a odkazem na vscodevim? Nechapu.
Teda asi chapu, jen me to mate vzhledem k zacatku diskuzniho vlakna, ktere bylo o udrzovani paradigmat v Helix a Kakoune.
Jinak VSCode - me to proste prijde mimo tema. Je to cele velke IDE, ktere asi nebudu spoustet abych si upravil textak s poznamkou. Navic impementuji jen uplny zaklad vimu, modalni ovladani, ale skriptovani je mimo, takze zadne zabehle pluginy. Experimentalne se pousteji do neovimu, a to ale porad neresi hlavni problem - ve VSCode se bez mysi porad neobejdete, i kdyz mate ten plugin. Kdezto IDE, co si mnoho lidi nastavi ve vimu, je porad delane na plne ovladani klavesnici.
Možno som zle pochopil ten povzdych, ale ja mám v konfigurácii Vim-u niečo takéto:
vnoremap ,64 y:echo system('base64 --decode', @")<cr> noremap <silent> <F11> :NERDTree<CR>
Prvé mi vypíše do stavového riadku dekódovaný vyznačený base64 string
Druhé spustí vimscriptovú funkciu.
Tie možnosti sú všelijaké. Napr. vložiť aktuálny dátum a čas do textu:
inoremap <F7> <C-R>=strftime("%F %T %Z")<CR> nnoremap <F7> "=strftime("%F %T %Z")<CR>P
Helix i kakoune jsou client-server, výchozí terminálový front-end existuje čistě z toho důvodu, že je nejjednodušší na vývoj. Vývoj GUI bývá cizí lidem, kteří milují terminálové editory tak moc, že si napsali vlastní. Navíc lidem navyklým na tyto editory to často stačí nebo i vyhovuje.
Co se rychlosti týče, nejde o rychlost programu, ale o rychlost ovládacího paradigmatu. Vim je "action-object", což trochu svazuje ruce, často napíšete příkaz, zjistíte co se stalo, vrátíte to zpět, napíšete úpravený příkaz, atd. Kak/hx jsou "object-action", takže nejprve píšete selektor (zatímco v bufferu se vybraný text průběžně zvýrazňuje a vy vidíte, na co se příkaz bude aplikovat), a až teprve potom na výběru provedete příkaz.
S tím souvisí práce s více kurzory, která je nepředstavitelně návyková a rychlá. Na začátku jsem si to nemohl představit, ale po pár letech s multi-cursor editory (hlavně Sublime, dnes většinou Kakoune) už nemůžu fungovat jinak. Relativně pár úhozy mám interaktivně a intuitivně provedeny rozsáhlé úpravy v mnoha dokumentech najednou, ve stylu "vyber všechny definice funkcí se třemi argumenty kde druhý je ukazatel a třetí integer, označ druhý argument, vystřihni do schránky, přejdi za poslední argument, vlož schránku". Operace které by bylo v klasickém vimu obtížné formalizovat se takhle snadno dělají intuitivně s kurzory, šipkami. Neovim má multi cursor plugin, ale funguje jen pro velmi omezenou podmnožinu příkazů, většina z nich vyžaduje jednu pozici.
Multi kurzory - na to je nekolik pluginu.
Co se tyce vizualizace provadene zmeny, treba ja mam nastevene ze kdyz delam search-replace, tak pri psani prikazu nejprv vidim co vsechno vyhovuje danemu regexpu, a nasledne vidim na co se to zmeni.
Jasne, kdyz bych srovnaval cisty vim a cisty helix-kakoune, tak asi vyjdou lip ty novejsi? Ale tech lidi co pouziva cisty vim asi moc neni, ne? Teda ja mel za to ze sila je v te hromade pluginu.
S těmi pluginy (pokud myslíte neovim) se to ani nepřibližuje, ani na současném masteru. Vím, že to nemám jak vysvětlit, tak se nebudu pokoušet :-) musíte to zažít. Ale jde fungovat i bez toho, samozřejmě.
Vizualizace prováděné změny je hezká věc, ale nestačí to, vizte ten příklad co jsem popisoval. Dají se tím dělat komplexní změny, po relativně krátké době se už člověk nebojí psát boilerplate mnoha funkcí najednou, editovat ve více souborech najednou... jde to přirozeně a intuitivně.
A s regulérními výrazy se dá dělat leccos, ale opět ten můj příklad ne (pokud ano, bylo by to extrémně mentálně náročné). Helix i Kakoune (plugin kak-tree) používají tree-sitter, který má psaný text naparsovaný (i když je nekompletní), takže vy jako uživatel můžete snadno vyjádřit abstraktní přání typu "dej mi kurzor na všechny returny funkcí které vrací pointer" pomocí série postupně se zužujících syntax-aware výběrů.