Vim

vim

Vim i "konsol"-tilstand
Type Tekst editor
Udvikler Bram Molenar m.fl
Skrevet i C og Vim script [1]
Operativ system Amiga , Linux , Mac OS X , Windows , OpenVMS , OS/2 , Unix
Interface sprog engelsk, spansk, italiensk, kinesisk, tysk, persisk, polsk, russisk, fransk, japansk [2]
Første udgave 2. november 1991 [3]
nyeste version
Licens GPL - kompatibel Vim-licens , velgørende formål
Internet side vim.org
 Mediefiler på Wikimedia Commons

Vim (forkortelse for Vi Im proved , udtales "vim") er en fri teksteditor baseret på det ældre vi . Nu er det en kraftfuld teksteditor med fuldstændig frihed til tilpasning og automatisering muliggjort af udvidelser og tilføjelser.

Vims brugergrænseflade kan køre i ren tekst (konsol)-tilstand .

Der er også en modifikation til brug i en grafisk vinduesgrænseflade - GVim. Mange brugerkommandoer i GVim kan fremkaldes gennem deres respektive menupunkter.

Den største forskel fra de "klassiske" teksteditorer

En af hovedfunktionerne ved editoren er brugen af ​​to hovedindtastningstilstande, der kan skiftes manuelt: kommando (efter lancering er editoren i den) og tekst ( engelsk  indsættelsestilstand , direkte tekstredigeringstilstand, svarende til de fleste "normale" redaktører). Der er også andre tilstande.

Vim er ikke intuitiv (bortset fra i "tekst"-tilstand), så at arbejde effektivt med editoren kræver forudgående læring.

Funktionalitet

Anmeldelse: Udvalgte vi-forbedringer

Sammenlignet med klassisk vi har Vim følgende forbedringer:

Vim hjælpesystem

Vim har et meget praktisk og detaljeret hjælpesystem, og et system til at navigere og navigere mellem dets sektioner. For at åbne nogen af ​​dens sektioner skal du blot bruge kommandoen :help i kommandotilstand.

Terminologi

Driftsmåder

Normal tilstand

Selvfølgelig er der mange flere sådanne hold. Pointen er, at du skal lære disse kommandoer for at kunne bruge. Du vil måske argumentere for, at du sandsynligvis ikke kan lære alle disse kommandoer, fordi der er hundredvis af forskellige bevægelseskommandoer, nogle enkle og nogle ret smarte, og at det ville tage ugers øvelse at lære alle disse kommandoer. Nå, du behøver ikke at lære dem alle. I stedet skal du forstå din individuelle redigeringsstil og kun lære de kommandoer, der hjælper med at gøre den mere effektiv [5] .

Bram Moolenaar

Som standard starter Vim i normal tilstand, også kaldet kommandotilstand. Tastanslag i denne tilstand opfattes som kommandoer (kopiering, sletning, flytning af tekst osv.).

Blandt de normale kommandoer er der kommandoer med "enkelttegn". Så, for eksempel, $vil et tryk flytte markøren til slutningen af ​​linjen; tryk på tasten 0(nul) - til begyndelsen; D(med store bogstaver) - for at slette (slette ) en del af den aktuelle linje fra den aktuelle markørposition til slutningen; С(med store bogstaver) - for at erstatte ( ændre ) en del af den aktuelle linje fra den aktuelle markørposition til slutningen osv.

Andre kommandoer til deres arbejde vil vente på yderligere fortsættelse af input. For eksempel fer det ansvarligt for hurtigt at bevæge sig i en linje til det næste tegn, der er skrevet efter sig selv. Derfor, efter at du har trykket på fVim, vil du vente på, at dette tegn bliver indtastet for at bruge det som søgetegn.

Efter at have trykket på y( y ank), d, cog andre lignende "kontrol"-taster, vil Vim vente på yderligere input af kommandoer, der specificerer det objekt, som handlingen skal udføres på (henholdsvis kopiere, slette eller erstatte). Så det vil slette det aktuelledaw ord under markøren ( slet et mellemord ) , og  alle tegn fra den aktuelle markørposition til slutningen af ​​linjen. d$

Sådanne meget enkle kommandoer bruges ikke kun i "manuel tilstand" (når de om nødvendigt skrives hver gang fra tastaturet), men også når du indstiller komplekse sekvenser af handlinger .

Den normale tilstand er den centrale tilstand , hvorfra overgangen til alle de andre udføres. Du kan skifte fra enhver tilstand til kommandotilstand ved at trykke to gange på tasten Esc(i de fleste tilfælde er et tryk tilstrækkeligt).

Indsæt tilstand

Insert mode ( engelsk  insert mode ), hvor tekst indtastes.

For at skifte fra kommandotilstand til indsættelsestilstand kan du trykke på i(for at begynde at indsætte tekst ved markøren) eller a(for at begynde at indsætte tekst efter markøren). Der er også en række andre taster og deres kombinationer til at skifte til den direkte tekstredigeringstilstand (for eksempel gennem en af ​​tekstobjekterstatningskommandoerne).

I denne tilstand fungerer Vim ligesom de fleste "almindelige" teksteditorer. Som standard behandles indtastede tegn ikke som kommandoer, men indsættes i eksisterende tekst. Men selv i denne tilstand kan du indstille specielle redigeringshandlinger, der udføres, når der trykkes på bestemte taster eller deres kombinationer. Som et eksempel kan du angive, at når du indtaster en åbningsparentes (, tilføjes den matchende afsluttende parentes straks, og markøren placeres mellem dem.

CtrlTastaturgenveje ( + Rosv.) kan også bruges til at indsætte, slette, ændre og automatisk udfylde tekst .

Når du skriver et forkortelsesord, erstattes dette ord automatisk med en foruddefineret tekst.

Kommandolinjetilstand

Denne tilstand kaldes frem ved at trykke :fra normal tilstand. Kolon efterfølges af en kompleks kommando (for eksempel søg eller erstat), som efter indtastning videregives til udførelse ved at trykke på ↵ Enter. Efter at have udført kommandoen, vender editoren tilbage til normal tilstand. Denne tilstand indeholder også kommandoer til at søge videre i teksten /, søge baglæns i teksten ( ?), og en filterkommando !til at sende data til et eksternt filter.

Visuel tilstand

Den visuelle tilstand var fraværende fra Vi og dukkede først op i Vim. Det minder lidt om kommandoen. Ved at bruge specielle kontrolkommandoer, i kombination med pile og navigationskommandoer, kan du vælge tekstfragmenter tegn for tegn, linje for linje eller som en blok og derefter anvende normaltilstandskommandoer på dem (f.eks. slette den valgte tekst eller erstatte den). Redigering i denne tilstand er nemmere end i normal tilstand, fordi du tydeligt kan se, hvilken tekstblok den påkaldte redigeringskommando vil gælde for.

Automatisering af operationer

Vims evne til at skelne mellem tekstobjekter (ord, sætninger, afsnit, linjer, individuelle tegn osv.) giver dig mulighed for at indstille en sekvens af handlinger for at automatisere bestemte operationer.

Ja, efter kommandoen

nmap < F7 > byei << ESC > ea >< / < C - R > 0 >< ESC >

at trykke F7på konverterer (i kommandotilstand) ethvert ord under markøren (uanset dets længde og de tegn, det består af) til et xml-tag . For eksempel, hvis det aktuelle ord under markøren er div , så vil det blive konverteret til <div></div> , hvis transform  er så til <transform></transform> osv.

Vim er i stand til meget mere komplekse transformationer, du kan også indstille dine egne funktioner til at transformere data og automatisere rutineoperationer.

Alle handlinger, der er mulige i Vim "manuelt" (det vil sige direkte af en person ved tastaturet) kan automatiseres (inklusive skift mellem forskellige tilstande).

Versionshistorik

Versionshistorik
datoen Version Ændringer
1988 1.0 Baseret på Stevie for Amiga , med titlen Vi Imitation , aldrig officielt udgivet.
2. november 1991 1,14 [6] Første offentlige udgivelse for Amigaen
1992 1,22 [6] Overført til Unix . Nu konkurrerer Vim med vi . Fra det øjeblik blev Vim Vi Improved
12. august 1994 3,0 [6] Understøttelse af opdelte vinduer
29. maj 1996 4,0 [6] Grafisk brugerflade
19. februar 1998 5,0 [6] Syntaksfremhævning , et simpelt scriptsprog (brugerdefinerede funktioner, kommandoer osv.)
6. april 1998 5.1 Fejlrettelser og andre ændringer.
27. april 1998 5.2 Understøttelse af lange linjer, indbygget filbrowser, dialoger, pop-up-menuer, valgtilstand, sessionsfiler, brugerdefinerede funktioner, kommandoer, tcl -grænseflade og andre ændringer.
31. august 1998 5.3 Fejlrettelser og andre ændringer.
25. juli 1999 5.4 Enkel filkryptering, forskellige forbedringer
19. september 1999 5.5 Fejlrettelser, forskellige forbedringer
16. januar 2000 5.6 Nye syntaksfiler, fejlrettelser og andre ændringer
24. juni 2000 5.7 Samme
31. maj 2001 5.8 Samme
26. september 2001 6,0 [6] Folding , plugins, flersprogethed og andre ændringer
24. marts 2002 6.1 Fejlretning
1. juni 2003 6.2 GTK2 , arabisk support , kommando: prøv, mindre funktioner, fejlrettelser
7. juni 2004 6.3 Fejlrettelser, oversættelsesopdateringer, tag-forbedringer
15. oktober 2005 6.4 Fejlrettelser, Perl , Python og Ruby understøtter opdateringer
7. maj 2006 7,0 Stavekontrol , automatisk udfyldelse , faner ("faner"), fremhævelse af den aktuelle linje og kolonne, fortryd forgreninger og andre ændringer
12. maj 2007 7.1 Fejlrettelser, nye eksekverbare filer og syntaksfiler og andre ændringer
9. august 2008 7.2 Fejlrettelser, nye eksekverbare filer og syntaksfiler, sikkerhedsforbedringer og andre ændringer
15. august 2010 7.3 Fejlrettelser, nye eksekverbare filer og syntaksfiler, sikkerhedsforbedringer, "evig" fortrydelse, ophør af understøttelse af Mac OS 9 og GTK1 , Lua - understøttelse og andre ændringer
10. august 2013 7.4 Ny, hurtigere regulært udtryksmotor og andre ændringer
12. september 2016 8,0 Asynkron I/O, lambda-udtryk , lukninger , understøttelse af GTK+ 3 og Microsoft DirectX og andre ændringer.
18. maj 2018 8.1 Understøttelse af åbning af en terminal inde i et Vim-vindue [7] .
14. december 2019 8.2 Popup vinduer
28. juni 2022 9,0 [8] Vim9 script

Portabilitet

En af fordelene ved Vim-editoren er dens tilgængelighed for mange operativsystemer . Dette gælder især for systemadministratorer, der skal redigere filer på tværs af platforme.

Vim kører på følgende operativsystemer:

Vim Touch

Til Android -operativsystemet , som bruger berøringsskærmen som sin primære input-enhed, skrev David Tao en tilpasset version af vim, vim touch, som i øjeblikket distribueres under Apache-licensen [9] [10] [11] [12] . Der er også en variant af DroidVim.

Priser

Fra 2001 til 2004 Vim var vinderen af ​​LinuxJournals Readers' Choice Awards for Favorite Text Editor. Han modtog også Linuxworld Editors' Choice Award i 1999 og Slashdot Beanie Award i 2000.

Licens

Vim distribueres under en GPL - kompatibel licens kendt  som Charityware .  En del af midlerne doneret til udviklingen af ​​Vim bruges til at støtte forældreløse børn i Uganda gennem ICCF Holland .

Vim-udvidelser

Det samlede antal tilgængelige udvidelser på det officielle websted er mere end 3000 [13] .

Populære Vim-udvidelser inkluderer:

  • MiniBufferExplorer ;
  • taglist  - for at se strukturen af ​​programfiler (liste over funktioner osv.);
  • bufexplorer (siden Vim 7.4, for det meste forældet);
  • closetag  - for mere bekvem lukning af tags ved redigering af html- og xml - filer;
  • supertab  - til auto- fuldførelse af ord ved at trykke Tab ↹(samtidigt virker linjeindrykninger som normalt);
  • projekt - at organisere filer i projekter for nemmere navigation gennem dem;
  • indexer - til generering af tags ved hjælp af ctags for alle filer, der er inkluderet i projektet (projektet kan organiseres både med projekt-plugin'et og uden det). Tags er nødvendige for hurtigt at flytte fra et funktionskald til dets erklæring, for at få en liste over medlemmer af en struktur eller klasse osv.

Liste over populære Vim-udvidelser efter deres popularitet på GitHub: http://vimawesome.com

På grund af fleksibiliteten i de muligheder, der gives gennem udvidelser, kan Vim også bruges som en personlig wiki .

Noter

  1. Vim | freshmeat.net . Hentet 21. maj 2009. Arkiveret fra originalen 6. juni 2009.
  2. Vim på ikke-engelske sprog . Hentet 4. februar 2008. Arkiveret fra originalen 23. august 2011.
  3. http://arstechnica.com/information-technology/2011/11/two-decades-of-productivity-vims-20th-anniversary/
  4. Vim 9.0  : vim online - 2022.
  5. Syv vaner med effektiv tekstredigering . Hentet 7. april 2010. Arkiveret fra originalen 2. oktober 2011.
  6. 1 2 3 4 5 6 Moolenaar, Bram Vim, en open source teksteditor ( 2002-01-15 ). Hentet 24. oktober 2005. Arkiveret fra originalen 23. august 2011.
  7. OpenNews: Vim 8.1 teksteditor frigivet . www.opennet.ru Hentet 25. maj 2018. Arkiveret fra originalen 25. maj 2018.
  8. Bram Moolenaar. Vim 9.0 er udgivet! . Dato for adgang: 30. juni 2022.
  9. Alex Young. Anmeldelse: VimTouch til Android (ikke tilgængeligt link) . usevim.com (19. september 2012). Hentet 15. juni 2016. Arkiveret fra originalen 13. juni 2016. 
  10. Vi gør tabletten til en fuldgyldig arbejdsplads . "Hacker" (26. november 2013). Hentet 15. juni 2016. Arkiveret fra originalen 9. august 2016.
  11. Vitaly Soroko. PHP på Android // LinuxFormat . — 2016. — Maj ( Nr. 05 (209) ). - S. 22 .
  12. Vim Touch-projektGitHub
  13. Vim Scripts  . Dato for adgang: 4. januar 2012. Arkiveret fra originalen 3. februar 2012.

Links