Vim 101: En nybegynner guide til Vim

Noen gang ønsket å lære vim, men var ikke sikker på hvordan du skal begynne? Ikke noe problem. Vi har du dekket! Dette vil være den første av en fire-del (muligens lenger) serie som dekker hvordan du bruker Vim og hvor du skal begynne å bruke verdens beste tekst editor.

Legg merke til at dette er en artikkel eksplisitt for nybegynnere nye til Vim. Hvis du har brukt Vim for en stund, bør alt dette ser helt kjent - og du lurer kanskje på hvorfor noen emner ikke er dekket. Tålmodighet. Vi skal få til alt i tide, men det er mye å dekke!

Hva er Vim, og hvorfor jeg vil ha det?

Vim er redaktør av valget for mange utviklere og makt brukere. Det er en "modal" tekst editor basert på editoren vi skrevet av Bill Joy i 1970 for en versjon av UNIX. Det arver tastebindinger av vi, men også legger mye av funksjonalitet og utvidelsesmuligheter som mangler fra den opprinnelige vi.

Hva pokker mener vi med modal
? Når du bruker mest tekstbehandlere og tekstredigeringsprogrammer, er de alfanumeriske tastene (dvs. A til Z, 1 til 9) kun brukes til å taste disse tegnene med mindre de er modifisert av en styretasten. I Vim, modus
at redaktøren er i avgjør om de alfanumeriske tastene vil inngangs disse tegn eller flytte markøren gjennom dokumentet.

For eksempel, mange tekst redaktører og tekstbehandlere krever at du å bruke musen til å klikke et menyelement eller ikonet, eller bruke Ctrl-s hurtigtastkombinasjon, for å lagre en fil.

I Vim, kan du lagre en fil uten hendene forlate tastaturet, og noen ganger uten selv forlate hjemmet tastene. Fra Vim er sette
modus, traff Escape og deretter: w. Det er alt. Mer om det senere

Hvis dette høres komplisert ut, er det ikke -., Men det kan ta litt tid å bli vant til, som å kjøre en manuell girkasse i stedet for en automatisk. Så, hvorfor ville du ønsker å lære Vim? Selv om Vim er min favoritt editor, vil jeg være veldig sløv: du kan ikke
vil. Hvis du aldri kommer til å gjøre noe systemadministrasjon eller tung redigering av tekst, og hvis du ikke ønsker å investere noe tid på å lære de evner som Vim har, så lærings Vim kan
ikke være best . bruk av din tid

På den annen side, hvis ikke noe av det følgende, har du sannsynligvis vil se nærmere Vim:

Systemadministrasjon

Programmering

Arbeide med HTML, LaTeX, eller andre markeringsspråk

Heavy redigering av rene tekstfiler

Selv om Vim er ikke så lett å bruke utgangspunktet
som standard GUI tekst redaktører som gedit eller tekstbehandlingsprogrammer som OpenOffice.org Writer, over en lengre sikt kan du bli mer produktiv ved å bruke Vim. Hvis du er en touch-kontordame, vil du finne at hastigheten vil øke enda mer med Vim fordi hendene sjelden trenger å forlate "hjem" nøkler - og du trenger bare å bruke musen hvis du velger å gjøre det.

Systemadministratorer trenger å vite i alle fall litt Vim /vi å få av rett og slett fordi det er redaktøren mest sannsynlig til å være på en gitt * nix system som du må jobbe med. Vi er lingua franca
av systemadministrasjon.

Hvis du er en programmerer eller arbeider med strukturerte markeringsspråk som HTML, LaTeX, DocBook, etc., er Vim det Bie knær. Det tilbyr en rekke funksjoner som jeg vil dekke i senere terminer som gjør arbeidet med programmering og markeringsspråk mye enklere.

Du kan være skeptisk. Jeg var for 10 år siden da sjefen min insisterte jeg lære Vim å jobbe på selskapets nettsted. Den første uken var smertefullt. Måneden etter at det var greit. Innen to måneder, ville jeg ha raskere skrevet med føttene enn å bytte vekk fra Vim.

De Modes

Noen mennesker er uenige om hvor mange moduser Vim faktisk har. Jeg kommer til å definere tre: sette modus, kommandomodus, og i siste linje-modus. La oss starte med standardmodus du ser når du starter opp Vim -. Kommandomodus

Når du kjører vim filnavn
å redigere en fil, starter Vim ut i kommandomodus. Dette betyr at alle de alfanumeriske tastene er bundet til kommandoer, i stedet for å sette inn disse tegnene. Skrive j vil ikke sette inn tegnet "j" - det vil flytte markøren ned en linje. Skrive dd vil slette en hel linje, i stedet for å sette inn "dd."

For å legge inn sette
modus, skriver jeg (for "sett") og nå nøklene vil oppføre seg som du ' d forventer. Du kan skrive normalt inntil du ønsker å foreta en korrigering, lagre filen, eller utføre en annen operasjon som er reservert for kommandomodus eller siste-linje-modus. For å komme ut av innsettingsmodus, traff på Escape-tasten.

Når du trykker på Escape, du er i kommandomodus igjen. Hva om du ønsker å lagre filen eller søke gjennom dokumentet? Ikke noe problem, trykk: og Vim vil bytte til i siste linje
modus. Vim er nå venter på deg til å legge inn en kommando som: w for å skrive filen eller:. Q for å avslutte redaktøren

Hvis dette høres komplisert ut, er det egentlig ikke. Det tar et par dager for å begynne å trene hjernen din til å bevege seg mellom modusene og memorere de viktigste nøklene for bevegelse, kommandoer, og så videre. Men når du begynner å få taket på det, vil du bli overrasket over hvor væske det er å redigere en fil i Vim. La oss gå gjennom noen av de vanligste kommandoene som du trenger å vite.

Grunnleggende om Moving i Vim

Det første du ønsker å lære er hvordan man skal bevege seg rundt en fil. Når du er i kommandomodus, vil du ønsker å huske følgende taster og hva de gjør.

  • h flytter markøren ett tegn til venstre

    j flytter markør ned en linje.

    k flytter markøren opp en linje.

    l flytter markøren ett tegn til høyre.

    0 Flytter markøren til begynnelsen av linjen.

    $ flytter markøren til slutten av linjen.

    w flytte frem ett ord.

    b farten bakover ett ord.

    G flytte til slutten av filen.

    gg flytte til begynnelsen av filen.

    `. flytte til siste redigeringen

    Her er en hendig tips:. prefacing en bevegelse kommando med et nummer vil utføre denne bevegelsen flere ganger. Så, hvis du ønsker å flytte opp seks linjer, skriv 6k og Vim vil flytte markøren opp seks linjer. Hvis du ønsker å flytte over fem ord, skriv 5W. Å flytte 10 ord rygg, bruk 10b

    Ha det tips i tankene -. Man finner at prefacing andre kommandoer med flere kan komme godt med så vel

    Den beste måten å. lære er praksis. Ta noen minutter til å prøve Vim ut. Hvis du er på et Linux-system akkurat nå, åpne opp en terminal og skriv vim filnavn. Skriv inn innsettingsmodus og skriv litt (eller kopiere noe av teksten fra denne artikkelen i Vim) og deretter traff Escape for å begynne å trene bevegelse rundt filen. Når du føler at du får taket på det, er det på tide å prøve litt redigering.

    Redigering Vim stil

    Nå som du vet hvordan du kan flytte litt rundt, la oss prøve redigering. Flytt markøren til begynnelsen av et ord. Nå skriver x. Hva skjedde? Du skulle ha slettet tegnet som markøren var på. Lyst til å angre? Ikke noe problem. Type U (for angre), og det vil bli gjenopprettet.

    Vil du slette et helt ord? Flytt markøren til begynnelsen av et ord igjen. Bruk dw. Merk at dette bare vil slette ord fra markøren på - så hvis du har markøren i midten av et ord, vil det bare slette fra det punktet. Igjen, vil u angre det. Merk at Vim har flere nivåer av angre, slik at du kan angre endringen før det og endringen før det, etc.

    Vil du angre angre? Hit Ctrl-r. Det vil gjøre om den siste angre

    Igjen, her er en lengre liste over kommandoer du vil definitivt ønsker å vite starter ut.:.

  • begynner d slettingen

    dw vil slette et ord.

    d0 vil slette til begynnelsen av en linje.

    d $ vil slette til slutten av en linje.

    DGG vil slette til begynnelsen av filen.

    dG vil slette til slutten av filen.

    u vil angre den siste operasjonen.

    Ctrl-r vil gjøre om den siste angre

    . Du har kanskje lagt merke til at flere kommandoer kombinere en tekst drift og bevegelse nøkkelen. gg tar deg til slutten av en fil, og d brukes til å slette. Kombinere dem gir deg noe kraftigere. Vim er sånn. Hvis du arbeider i Vim og tenke "hei, jeg lurer på om jeg kan kombinere to ting jeg vet å gjøre noe enklere," svaret er ofte (men ikke alltid) ja.

    La oss gå videre litt og snakke kort om søking og erstatte.

    Søke og Skifte

    Nå som du vet hvordan du skriver inn tekst, gjør noen endringer og så videre, er det på tide å lære å bruke søk og erstatt i Vim. Det er egentlig ganske enkelt. Hvis du ønsker å søke gjennom dokumentet fra kommandomodus, bruk /etterfulgt av teksten du ønsker å søke etter. Så, hvis jeg ønsker å søke etter "bunny" Jeg kan gå inn /og deretter kanin og trykk enter.

    Hvis jeg ønsker å finne den igjen, traff jeg n. Hvis jeg ønsker å se etter en tidligere forekomst av teksten, vil jeg bruke N i stedet, som vil søke i motsatt retning gjennom dokumentet.

    Vil du snu retningen for søket? Bruk ? i stedet for /og Vim vil bevege seg bakover gjennom dokumentet. Ved hjelp av n og N som ovenfor vil snu retningen for søket.

  • / tekst
    søke etter tekst
    i dokumentet, fremover. Anmeldelser
    n flytte markøren til neste forekomst av teksten fra forrige søk. Dette vil vikle til begynnelsen av dokumentet.
  • N flytte markøren til forrige forekomst av teksten fra forrige søk.
  • tekst
    søke etter tekst
    i dokumentet, går bakover

    :% s. / tekst Twitter / erstatningsteksten Twitter /g søke gjennom hele dokumentet for tekst .
    og erstatte den med erstatningsteksten

    :% s / tekst Twitter / erstatningsteksten Twitter /gc søk gjennom hele dokumentet og bekrefte
    før erstatte tekst.

    Det er alt ganske enkelt, er det ikke? Nå for å gå videre til en viktig operasjon: klippe og lime tekst

    Kopiere og lime inn

    Du har allerede lært å slette tekst.. Den siste tekst som du har slettet blir lagret i bufferen er klar til å bli limt inn i dokumentet. Så hvis du har kjørt dd og slettet en hel linje, kan du nå treffe p eller P for å lime det inn i dokumentet. Dette gjelder for enkeltlinjer, flere linjer, og selv hele dokumenter.

    Vil du velge tekst? I kommandomodus, traff V og du vil være i stand til å flytte markøren ved hjelp av piltastene eller standardbevegelsestastene (h, k, j, l) for å markere tekst. Dette er ganske enkelt, men kan være treg. Ønsker å kopiere hele linjer på en gang? Bruk V i stedet for v og du vil markere hele linjer om gangen. Igjen, kan du bruke bevegelsestastene til å merke flere linjer.

    Vim har et kult triks også. Du kan markere i kolonner. Bruk Ctrl-v og du vil være i stand til å markere en kolonne i stedet for en hel linje. Dette kan være nyttig når du arbeider med noen tekstfiler som har data i kolonner, og du vil velge en hel kolonne, men ikke en hel linje.

    Når du har uthevet det du ønsker, treffer y og det vil "Yank" teksten inn i buffer som skal limes inn senere. Så en vanlig lim operasjon kan se slik ut:

    Hit v å markere tekst. Deretter slo y å dra heller inn i buffer. Deretter flytter du markøren der du vil ha det, og bruke p i kommandomodus. !. Det du går - Dere har bare limt inn litt tekst

    Kommandoene du mest trenger for å starte ut:

    v markøren et tegn om gangen

    V markere en linje av gangen.

    Ctrl-v høydepunkt av søyler.

    p lime inn tekst etter den aktuelle linjen.

    P lime inn tekst på gjeldende linje.

    y yank tekst inn i kopien buffer.

    Du har gjort nok redigering for en dag, og du er klar til å pakke det i. Ikke noe problem. Her er hvordan du kan lagre filen og avslutt Vim.

    Lagre og avslutte

    Hvis du er i innsettingsmodus, traff Escape. Deretter skriver du: og du vil se en linje nederst på skjermen med en markør klar til å ta inngangs

    For å skrive filen du redigerer, skriver w.. (Så, vil du ha: w.) Det vil skrive filen til den eksisterende filnavn. Hvis du ikke har et filnavn eller ønsker å skrive ut til et annet filnavn, bruk:. W filnavn

    For å avslutte Vim når du er ferdig, trykk: q. Siden Vim er din venn, vil det ikke bare sprette ut på deg hvis du ikke har lagret filen. Det vil si "nei write siden forrige endring", og foreslår at du legger! . å overstyre

    Hvis du virkelig ønsker å slutte, gå videre og bruk: q! å forlate uten å være nagged.You kan også avslutte Vim hjelp ZZ, som vil lagre og avslutte filen. Igjen, kan alt dette høres litt komplisert, men det er virkelig ikke. Det er en haug med små ting å lære at når du legger dem opp, sørger for en meget kraftfull pakke.

    For nå som bør være nok til å komme i gang. Ikke slite, skjønt. Vi vil gå gjennom mer Vim bruk neste uke, og fortsetter arbeidet med Vim til du er en ekspert.

    Joe 'Zonker' Brockmeier er en langvarig FOSS talsmann, og arbeider for Novell som community manager for opensuse. Før han kom til Novell, jobbet Brockmeier som en teknologi journalist som dekker åpen kildekode rytme til en rekke publikasjoner, inkludert Linux Magazine, Linux Weekly News, Linux.com, UnixReview.com, IBM developerworks, og mange andre.



    Next Page: