VIM Basics Tutorial

VIM Basics Tutorial
Hvis du bruker Linux i noen tid, er det trygt å anta at du er kjent med tekstredaktørene. En tekstredigerer er ikke annet enn et verktøy som er i stand til å redigere tekst. Vi har alle en ide om hva en tekstfil er, riktig? Imidlertid kan tekstredaktører også brukes til å redigere ikke-tekstfiler som tekst!

Det er ikke en ideell ting, skjønt. Tekstredaktører er ment å redigere filer som om de er en tekstfil. Derfor da jeg ba “Nano” om å åpne JPG -filen, åpnet den den “som om” det er en tekstfil. En lignende ting vil skje hvis du prøver å åpne andre filer, for eksempel lyd, video, til og med binære filer.

VIM Text Editor

Nå er det to typer tekstredaktører tilgjengelig på Linux -plattformen: GUI og konsoll.

GUI -tekstredaktører er de mest populære blant generelle brukere. Noen av de populære inkluderer Gedit, GNU Emacs, Atom, Brackets, Sublime Text, Visual Studio Code og andre.

Når vi snakker om konsolltekstredaktørene, dukker den virkelige utfordringen frem. Å bruke konsolltekstredaktører er ikke bare grovt, men utfordrende. Selvfølgelig, hvis du har klikket på denne guiden, er du allerede kjent med dem. Populære konsolltekstredaktører inkluderer Nano og Vim.

Som tittelen på artikkelen antyder, er denne guiden på VIM - en av de tøffeste konsolltekstredaktørene. VIM er faktisk "VI" -tekstredigereren med tilleggsfunksjoner og finjusteringer. Målet mitt er å tilby en grunnleggende og detaljert introduksjons- og brukseksempler på VIM.

VIM Guide

For denne guiden vil jeg bruke C ++ -kodeeksempler. Sjekk ut C ++ -kodene av Sinairv på GitHub.

Installere Vim

I de fleste av Linux-distrosene kommer Vim forhåndsinstallert med Nano og/eller Emacs. Det spiller ingen rolle hva Linux -distro du bruker, Vim vil alltid være tilgjengelig på den offisielle repoen som vi kreves av POSIX.

Debian/Ubuntu: sudo apt-get update && sudo apt install vim
Fedora: sudo dnf update && sudo dnf installer vim
OpenSuse: sudo zypper oppdatering && sudo zypper install vim
Red Hat-Based Distros: Sudo Yum Update && Sudo Yum Install Vim
Arch/Arch -Based Distros: Sudo Pacman -Sy && Sudo Pacman -S Vim

Lansering av Vim

Når installasjonen er fullført, sjekk eksistensen av VIM.

Vim Vim -Versjon

Hvis du er interessert i å bruke VIM for å redigere en tekstfil, bruk følgende struktur.

vim

Slutt vim

Dette er det aller første jeg måtte lære mens jeg brukte VIM. Det er mange ganger når jeg skrudd opp. Å lære å slutte vim reddet meg utallige ganger.

Type “: Q” og Hit Enter (uten sitater).

Merk: Vim vil ikke slippe deg ut uten denne metoden. “Ctrl + C” fungerer ikke.

Navigere i filen

Vim tilbyr et virkelig komplisert sett med måter du kan bruke til å navigere i tekstfilen.

La oss komme tilbake til tekstfilen. Denne gangen er vi på Readme.MD -fil.

Den enkleste måten å navigere gjennom filen er ved å bruke piltastene.

VIM tillater å bruke andre nøkler for å navigere i filen som piltastene.

H - Én karakter til venstre

L - Én karakter til høyre

K - Gå opp

J - Gå ned

W - ett ord til høyre

B - Ett ord til venstre

0 (null) - begynnelsen av gjeldende linje

$ - Slutt på gjeldende linje

Merk: Vær forsiktig med saken om nøklene.

Redigere filen

Dette er den viktige delen. Vi åpner tekstfilene i redigeringsprogrammet for å utføre noen redigeringer, riktig?

Naviger til ønsket sted på teksten og treff "jeg". Dette vil fortelle Vim om å angi “Sett inn modus”.

Når du har gjort dine nødvendige redigeringer, kan du avslutte "Sett inn" -modus ved å trykke på "Ctrl + C" eller ESC. Min personlige preferanse er å bruke ESC -tasten.

Lagre filen

Før du lagrer filen, er det nødvendig å forstå hvordan Vim håndterer arbeidet.

Når du har åpnet en tekstfil med Vim, får du faktisk tilgang til en midlertidig kopi av den originale filen. Hvis du er fornøyd med endringene dine og bestemmer deg for å lagre, vil vi først skrive den redigerte filen over den opprinnelige filen.

Det er fordeler med denne tilnærmingen. Det forhindrer den opprinnelige filen fra uønsket korrupsjon. VIM lar flere brukere redigere den samme filen samtidig, så bruk av en midlertidig fil hjelper til med å unngå konflikter. VIM lagrer temp -filen slik at du kan gjenopprette arbeidet ditt hvis det tilfeldigvis er noen avbrudd.

For å skrive bufferen til filen, skriv inn “: w”.

Det er også mulig å kombinere skrivekommandoen med slutt.

: WQ

Dette vil skrive bufferen til filen og avslutte redigeringsprogrammet.

En annen interessant funksjon Vim tilbyr er å skrive den nåværende bufferen på slutten av en annen fil. Kort sagt, du kan legge til gjeldende redigering til en annen fil.

: w >>

Denne kommandoen kan også kobles sammen med Quit -kommandoen.

: wq >>

Noen ganger vil du kanskje bare kaste den nåværende bufferen og starte fra bunnen av. Jeg skrudd opp sudoers flere ganger, spesielt med vim. Denne metoden sparte meg bare mye hodepine. Be Vim om å avslutte uten å skrive bufferen til filen.

: q!

Søker

Som et legendarisk programvare ville det være synd hvis det ikke ville være noen søkefunksjoner! Ved hjelp av Vim er det lett å finne ut hvor målfrasen din er. Dette er strukturen som Vim krever for å utføre søkefunksjonen.

?

Legg merke til at det ikke er noe gap mellom spørsmålstegnet og søkestrengen. Etter å ha skrevet søkeordet, treff Enter.

Nå, når du kjører dette, sitter du fast med det eneste søkeresultatet. Er det akseptabelt? Nei! Be Vim navigere til forrige/neste søkekamper!

N - Finn neste kamp
N - Finn forrige kamp

Sette inn data fra en ytre kilde

Det er en annen interessant teknikk som kan komme nyttig i mange scenarier. Du kan direkte ta utgangen fra en bestemt kommando og sette inn rett sted for en fil.

: r!

La oss for eksempel sette inn utgangen fra en Pacman -kommando. Lær hvordan du bruker Pacman på Arch Linux og andre erkebaserte distros.

: r! Echo $ (Pacman -qqe Python | grep python)

Denne kommandostrukturen gir en hel haug med mulig bruk. Hva med å sette inn innholdet i en annen fil?

: r! katt

Hvis du trenger spesifikt å få innholdet i en viss tekst, trenger du ikke å ringe “Cat” -kommandoen. Vim tilbyr allerede en enklere måte å gjøre det på.

: r

VIM -tilpasninger

Vim er ekstremt tilpassbar. Det er mange måter å improvisere funksjonaliteten til denne tekstredigereren. VIM tillater rikelig med tilpasning gjennom VIMRC -filen.

Det er et par forskjellige steder for VIMRC - Global og Local. Den globale ligger på “/etc/vim/vimrc” eller “/etc/vimrc”.

For den lokale VIMRC -filen vil den være lokalisert på “~/.vimrc ”-fil.

Før du redigerer VIMRC, er det nødvendig å forstå omfanget av begge. Den globale VIMRC (som ligger ved “/etc/vimrc” eller “/etc/vim/vimrc”) påvirker alle VIM -øktene på tvers av alle brukerkontoer. I tilfelle av lokal VIMRC (lokalisert ved “~/.vimrc), det trer bare i kraft i den respektive brukerens økt.

Her er en kort liste over nyttige VIMRC -innstillinger.

“Linjenummer til venstre
Sett nummer
“Standard fane størrelse
Sett tabstop = 4
“Aktiver syntaksutheving
Syntaks på
" Bryte tekst
sett wrap
“Standard koding
sett koding = utf-8

Hvis du tilfeldigvis redigerer VIMRC -filen mens VIM kjører, vil endringene ikke trer i kraft umiddelbart. Be Vim om å laste inn konfigurasjonen på nytt fra vimrc.

: så %

Erstatte innhold

VIM er ikke begrenset til grunnleggende søkefunksjoner. VIM tillater SED-lignende kommando for å utføre erstatningsoperasjonen.

Kommandoenes syntaks går noe slikt:

:%s ///

Fra erstatningsatferden er disse to ganske vanlige.

G - Utfør erstatningen ved hver forekomst av søkestrengen.

GC - Samme som “G”, men vil be om bekreftelse før du gjør endringen.

La oss sjekke bruken med et eksempel. Jeg har listen over alle pakkene fra "base-devel" -gruppen i en tekstfil.

La oss nå erstatte all "kjernen" med "coremodified" -strengen.

:%s/core/coremodified/g

Forekomst

Akkurat som det forrige eksemplet, er det også mulig å bare fremheve og telle forekomsten av søkestrengen i stedet for å erstatte den. Dette er bedre enn den klassiske søkefunksjonen.

Syntaksen for operasjonen ville være

:%S/Legg merke til "GN" -delen? Det er ansvarlig for å overstyre erstatningsatferden.

VIM -plugins

Til tross for at han er en konsoll -tekstredigerer, tilbyr Vim å utvide funksjonaliteten via plugins. Faktisk er antallet plugins som er tilgjengelige for VIM enormt! VIM -samfunnet er definitivt et sted med sinnssyke genier!

Du kan konfigurere hvilken som helst katalog for å være vert for plugins. Det anbefales imidlertid å bruke følgende.

~/.vim

Ulike VIM -plugins krever forskjellige prosedyrer. For enklere bruk er det også en håndfull Vim -plugin -ledere! For eksempel vundle, vimplug, patogen osv. Hvis du er interessert i å ta en ny vim -plugin, anbefaler jeg Vimawesome. Det er en stor samling av alle de populære og interessante Vim -plugins.

Siste tanker

Mastering Vim krever litt arbeid. Dette er bare det grunnleggende. Jeg håper at dette innlegget var nyttig for å bli kjent med Vim og noen av det grunnleggende. Utforsk gjerne VIMs verden.

Øv deg på VIM -ferdighetene dine på en demo -fil. På denne måten, selv om du roter opp filen, er det ikke så stort. Hvis du tilfeldigvis ødelegger konfigurasjonen av VIM, er ingenting å få panikk heller. Standard VIM -konfigurasjonsfiler er tilgjengelige online.