Denne artikkelen er en del av VIM brukerhåndbok-serien:

  • Begynnerveiledningen for å begynne å bruke Vim
  • Vim Tastatur Genveier Cheatsheet
  • 5 Vim tips og triks for erfarne brukere
  • 3 Nyttige VIM Editor Tips og triks for avanserte brukere
  • Slik setter du Vim i en tekstbehandler

Tro det eller ei, jeg bruker Vim som min daglige tekstbehandler. Jeg liker sitt enkle layout og dets modale design som favoriserer tastaturkommandoer over museklikk.

Selv om du sikkert kjenner Vim som en tekstredigeringsprogram som er mer egnet for koding enn for prosa, med noen få tweaks, kan du også skrive dokumenter som du er i Word eller LibreOffice mens du bor innenfor de behagelige begrensningene til en terminal.

Starter

Hvis du ikke allerede har kjent deg med grunnleggende om Vim, sjekk ut denne artikkelen, som er den første i en serie på fire. Sørg for at du lærer å åpne en tekstfil, skriv inn og avslutt programmet, og flytt rundt skjermen med tastaturet før du hopper videre inn i dette stykket.

Installasjon

Din Linux-distro kommer sannsynligvis med Vim i pakkelageret, slik at du enkelt kan installere den med programvareansvarlig eller pakkebehandling. Når du redigerer Vims konfigurasjonsfil senere, kan du gjøre det som en vanlig bruker.

Arch Linux:

 sudo pacman -S vim 

Fedora:

 sudo dnf installere vim 

Ubuntu:

 sudo apt installer vim 

Alle andre kan ta Vim fra Github-depotet sitt:

 git klone https://github.com/vim/vim.git cd ./vim/src/ gjør sudo gjør installasjon 

Vim-konfigurasjonsfilen

En installasjon av Vim kan opprette en .vimrc-fil i din hjemmekatalog. Hvis det ikke gjør det, opprett en:

 trykk ~ / .vimrc 

Du kan åpne den med Vim selv:

 cd vim. vimrc 

Vår ordbehandler

Nå ser du sannsynligvis på en tom fil. La oss endre det.

Vi kan lage en funksjon kalt "WordProcessor" som du kan ringe til når som helst. Det vil se slik ut:

 func! Ordbehandler () "fullfør + = s gjør autofullføring søk ordbokssettet komplett + = s endfu com! WP ringe WordProcessor () 

Nå som du ser funksjonen som helhet, kan vi bryte ned delene. Følg med ved å se på delene av vår funksjon kommentert med et enkelt anførselstegn, de enkelte linjene i grått.

1. Bevegelsesendringer med map j gj og map k gk

Det du ser her er en endring i hvordan markørbevegelsen fungerer inne i Vim. Hvis du leser de tidligere Vim-artiklene som er nevnt i begynnelsen av denne artikkelen, vil du vite at j beveger markøren din ned og k beveger markøren opp. Tilsvarende flyttes gj og gk deg ned og opp, men de flytter markøren etter linje på skjermen i stedet for etter linje i filen.

Vår kartlegging av j / k til gj / gk gir markøren muligheten til å bevege seg opp og ned gjennom innpakket linjer på skjermen. Dette hjelper når du skriver lange avsnitt og må flytte markøren din lett til midten av de avsnittene.

2. Formater tekst med "setlocal" kommandoer

Se først setlocal formatoptions=1 . "Formatopties" lar deg velge fra en rekke tekstformateringsmoduser. I tilfelle alternativet "1" vil Vim avstå fra å bryte linjer etter et ord med ett bokstav. Det vil prøve, når det er mulig, å bryte linjer før ordene med ett bokstav i stedet.

Deretter kan du bruke setlocal noexpandtab holde Vim fra å endre faner til mellomrom. Eksempelvis vil "expandtab" -innstillingen fortelle Vim å endre pressen din på Tab-tasten i en rekke mellomrom som passer til samme lengde. "Noexpandtab" gjør det motsatte; Den beholder tabulatortrykket som et enkelt tegn.

setlocal wrap forteller Vim å pakke inn teksten når den når slutten av skjermen. Dette er oppførselen du forventer fra en tekstbehandler.

Til slutt, setlocal linebreak får Vim til å bryte linjene dine på fornuftige steder. Det holder linjene fra å bli pakket inn ved siste tegn som passer på skjermen. Dette er grunnen til at du delvis ser at tekstlinjer når ulike punkter på skjermen før de vikles til begynnelsen. Sjekk ut hvordan det ser ut med en uferdig kopi av denne artikkelen i skjermbildet nedenfor

3. Stavekontroll og en offline tesaurus

Vim kommer med en innebygd stavekontrollfunksjon. Du kan gjøre "WordProcessor" -funksjonen din bruke denne egenskapen ved å bruke kommandoen setlocal spell spelllang=en_us . Du kan definere flere språk her i en kommaseparert liste.

Finn flere språkfiler på denne Vim FTP-siden. Plasser dine valgte filer (både .spl og .sug filer for hvert språk) i "$ HOME / .vim / spell /." Endre funksjonens linje for å set spelllang=en_us, nl, medical for eksempel for å sjekke engelsk, Nederlandsk og medisinske ord.

Feilstavede ord vil dukke opp som understreket og fet i teksten.

Du kan søke etter utskiftninger ved å skrive inn :z= i normal modus. (Bruk Escape-tasten for å komme til normal modus.) Denne kommandoen vil produsere en skjerm som følgende bilde.

Du kan bruke Vims tesaurus-funksjon ved å fortelle den din valgte tesaurus-katalogen med set thesaurus+=/home//.vim/thesaurus/mthesaur.txt eller lignende. Du kan finne filen "mthesaur.txt" på Project Gutenberg. Plasser den nedlastede tekstfilen i katalogen du definerer med den kommandoen.

Søk etter ord som ligner det fremhevede ordet ved å skrive inn Sett innstilling (trykk på i når i Normal modus), og skriv Ctrl + x og deretter Ctrl + t. Det vil vise deg en liste som følgende bilde som du kan bla gjennom for å finne et nytt ord.

Noen ganger er forslagene ikke det beste.

4. Autofullfør ord med "komplett" alternativet

Se på set complete+=s for vår endelige vurdering. Dette alternativet forteller Vim å søke i synonymordboken for et ord du vil autofullfør.

Vanligvis kan du autofullfør ord ved å ha Vim se på tidligere ord du har skrevet, for eksempel "feilspill" og "feil" i følgende skjermbilde. Du skriver bare inn Sett innstilling og skriver Ctrl + n eller Ctrl + p for å lete etter et ord som for eksempel samsvarer med halvstavet "mis".

Se hvordan de to første valgene ikke er fra samspillet? Disse to linjene er de eneste alternativene du vil se her hvis funksjonen vår ikke hadde brukt "komplett + = s." Du kan utelate eller kommentere den linjen for raskere autofullføringer.

Starte tekstbehandleren

Den endelige linjen i .vimrc som gjør WordProcessor-funksjonen arbeid er com! WP call WordProcessor() com! WP call WordProcessor() . Det lar deg skrive :WP i Normal modus for å sette Vims ordbehandlingsevner.

Du kan redigere "WP" i denne linjen for å lese alt du liker - bare sørg for at teksten er tilstøtende. Uansett hvilken tekst du velger, endrer du kommandoen til :

Konklusjon

Funksjonen jeg har diskutert her varer bare for en enkelt Vim-økt. Derfor, når du lukker og gjenoppretter Vim, vil standardinnstillingene ta tak i igjen. Dette skjer selv om du åpner den samme filen en gang til.

Du kan sette disse alternativene utenfor funksjonen for å få dem til å fungere hele tiden, men de kan ikke gjøre rettferdighet til mange programmeringsoppgaver Vim ble laget for å håndtere. Det er ikke vanskelig å skrive et par tegn uansett. Bare nyt de nye innstillingene dine og det faktum at du har slått terminalen din inn i en kraftig avsnittredigerer.