Utgivelse av tekstredigeringsprogrammet Vim 8.2

Etter halvannet år med utvikling fant sted utgivelse av tekstredigering Vim 8.2, som er klassifisert som en mindre utgivelse, der akkumulerte feil elimineres og isolerte innovasjoner foreslås.

Vim-kode distribuert av under din egen copyleft tillatelse, i samsvar med GPL, og lar deg bruke, distribuere og omarbeide koden uten begrensninger. Hovedtrekket i Vim-lisensen er relatert til tilbakeføring av endringer - forbedringer implementert i tredjepartsprodukter må overføres til det opprinnelige prosjektet hvis Vim-vedlikeholderen anser disse forbedringene som verdt oppmerksomhet og sender en tilsvarende forespørsel. Etter type distribusjon er Vim klassifisert som Charityware, dvs. I stedet for å selge programmet eller samle inn donasjoner for prosjektets behov, ber forfatterne av Vim om å donere et hvilket som helst beløp til veldedige formål hvis brukeren liker programmet.

В den nye versjoner:

  • Støtte for popup-vinduer er implementert, som sammen med tekstegenskaper ble bemerket av plugin-utviklere som de mest etterspurte funksjonene som Vim mangler i en undersøkelse på VimConf 2018-konferansen. Popup-vinduer lar deg vise meldinger, kodebiter og annen informasjon på toppen av redigerbar tekst. Disse vinduene kan belyses på forskjellige måter og kan raskt åpnes og lukkes. Implementeringen av denne funksjonaliteten krevde betydelige forbedringer av de tidligere brukte skjermvisningsmekanismene, samt en API-utvidelse for å sikre arbeid med popup-vinduer fra plug-ins.
  • Lagt til muligheten til å definere tekstegenskaper, som kan brukes til å fremheve tekststykker eller fremheve vilkårlige områder. Tekstegenskaper kan brukes i form av en asynkron tekstuthevingsmotor, et alternativ til de tidligere tilgjengelige malbaserte syntaksuthevingsmulighetene. Et annet særtrekk ved tekstegenskaper er at de er festet med teksten som er knyttet til dem og blir bevart selv når nye ord settes inn foran den valgte teksten.
  • For å tydelig demonstrere de nye funksjonene til Vim 8.2 forberedt plugin med et spill som lar deg skyte sauer som løper over skjermen. Løpende sauer vises ved hjelp av popup-vinduer, og farging implementeres gjennom tekstegenskaper.

    Utgivelse av tekstredigeringsprogrammet Vim 8.2

  • En plugin er i tillegg publisert for å demonstrere tekstegenskaper govim, brukes til syntaksutheving i Go-programmer, mottar informasjon om språkets semantikk fra en ekstern LSP-server (Protokoll for språkserver). Popup-vinduer i govim brukes til å vise kontekstuelle hint for navnefullføring og vise funksjonsbeskrivelser.
    Utgivelse av tekstredigeringsprogrammet Vim 8.2

  • En ny ":const"-kommando har blitt foreslått for å definere variabler som ikke kan endres:

    konstant TIMER_DELAY = 400

  • Lagt til muligheten til å definere ordbøker med bokstavelige nøkler uten å bruke anførselstegn:

    la alternativer = #{bredde: 30, høyde: 24}

  • Lagt til muligheten til å blokkere tildelinger, noe som gjør det enklere å tilordne flerlinjers tekststykker til variabler:

    la linjer =<< trim END
    linje en
    linje to
    END

  • Lagt til muligheten til å bygge funksjonskjeder når du ringer metoder:

    mylist->filter(filterexpr)->map(mapexpr)->sort()->join()

  • Hovedstrukturen inkluderer xdiff-biblioteket, som har forbedret representasjonen av forskjeller mellom ulike tekstversjoner betydelig;
  • Lagt til "modifyOtherKeys"-innstilling for å angi utvidede tastekombinasjoner
  • Lagt til støtte for ConPTY-konsollen, slik at du kan vise alle farger i Windows 10-konsollen;
  • Installasjonsprogrammet for Windows er modernisert.

I tillegg kan det bemerkes forberedelsen eksperimentell redaktørgren Neovim 0.5. Neovim er en gaffel av Vim som fokuserer på å øke utvidbarhet og fleksibilitet. Prosjektet har pågått i mer enn fem år gjennomført En aggressiv overhaling av Vim-kodebasen, som inkluderer endringer som gjør koden enklere å vedlikeholde, gir et middel til å dele arbeid mellom flere vedlikeholdere, skille grensesnittet fra kjernen (grensesnittet kan endres uten å berøre det interne), og implementere en ny utvidbar arkitektur basert på plugins. Plugins for Neovim lanseres som separate prosesser, for interaksjon som MessagePack-formatet brukes med.

Kilde: opennet.ru

Legg til en kommentar