Denna artikel är en del av VIM User Guide-serien:

  • Nybörjarhandboken för att börja använda Vim
  • Vim Tangentbord Genvägar Cheatsheet
  • 5 Vim Tips och tricks för erfarna användare
  • 3 Användbara VIM Editor Tips och tricks för avancerade användare
  • Hur man gör Vim till en ordbehandlare

Tro det eller inte, jag använder Vim som min dagliga ordbehandlare. Jag gillar sin enkla layout och dess modala design som gynnar tangentbordskommandon över musklick.

Även om du förmodligen vet Vim som en textredigerare som är mer lämpad för kodning än för prosa, med några tweaks kan du också skriva dokument som du är i Word eller LibreOffice, medan du bor inom de bekväma gränserna för en terminal.

Komma igång

Om du inte redan har bekantat med grunderna i Vim, kolla in den här artikeln, vilken är den första i en serie om fyra. Se till att du lär dig hur man öppnar en textfil, skriv in och avsluta programmet och flytta runt på skärmen med tangentbordet innan du hoppar längre in i det här stycket.

Installation

Din Linux distro kommer antagligen med Vim i sitt paketförråd, så du kan enkelt installera den med din programhanterare eller paketchef. När du redigerar Vims konfigurationsfil senare kan du göra det som en vanlig användare.

Arch Linux:

 sudo pacman -S vim 

fedora:

 sudo dnf installera vim 

Ubuntu:

 sudo apt installera vim 

Alla andra kan ta Vim från sitt Github-arkiv:

 git klon https://github.com/vim/vim.git cd ./vim/src/ gör sudo make install 

Vim-konfigurationsfilen

En installation av Vim kan skapa en .vimrc-fil i din hemkatalog. Om det inte gör det, skapa en:

 touch ~ / .vimrc 

Du kan öppna den med Vim själv:

 cd vim. vimrc 

Vår ordbehandlare

Nu tittar du noga på en tom fil. Låt oss ändra det.

Vi kan skapa en funktion som heter "WordProcessor" som du kan ringa upp när som helst. Det kommer att se ut så här:

 func! WordProcessor () "rörelseförändringar map j g map k gk" formatering text setlocal formatoptions = 1 setlocal noexpandtab setlocal wrap setlocal linebreak "stavning och tesaurus setlocal spell spelllang = en_us uppsättning samordnare + = / home / test / .vim / thesaurus / mthesaur.txt "komplett + = s gör autokompletion söka samordnaren uppsättning komplett + = s endfu com! WP-samtal WordProcessor () 

Nu när du ser funktionen som helhet kan vi bryta ner dess delar. Följ med genom att titta på de delar av vår funktion som kommenteras med ett enda citatmärke, de enskilda linjerna i grått.

1. Förändringar ändras med map j gj och map k gk

Vad du ser här är en förändring i hur markörrörelsen fungerar inom Vim. Om du läser de tidigare Vim-artiklarna som nämns i början av den här artikeln kommer du att veta att j flyttar markören och k flyttar markören. På liknande sätt flyttar g och gk dig ner och uppåt, men de flyttar markören efter rad på skärmen istället för i rad i filen.

Vår kartläggning av j / k till g / gk ger din markör möjlighet att flytta upp och ner genom inslagna linjer på din skärm. Detta hjälper till när du skriver långa stycken och behöver flytta markören enkelt till mitten av de här styckena.

2. Formatera text med kommandona "setlocal"

Se först setlocal formatoptions=1 . Med "Formatoptioner" kan du välja från ett antal textformateringslägen. I fallet med alternativet "1" kommer Vim att avstå från att bryta linjer efter ett bokstavsord. Det kommer att försöka, när det är möjligt, att bryta linjer före ordet med ett bokstav istället.

Därefter kan setlocal noexpandtab hålla Vim från att ändra flikar till mellanslag. Som exempel kommer inställningen "expandtab" att berätta för Vim att ändra din tryckning på Tab-knappen i ett antal utrymmen som passar samma längd. "Noexpandtab" gör motsatsen; Den bevarar din flikspress som en enda karaktär.

setlocal wrap berättar Vim att paketera din text när den når slutet av din skärm. Detta är beteendet du förväntar dig av en ordbehandlare.

Slutligen får setlocal linebreak Vim att bryta dina linjer på förnuftiga platser. Det håller dina linjer från att vara inslagna i sista tecken som passar på skärmen. Därför kommer du delvis att se att textrader når olika punkter på skärmen innan de läggs ihop till början. Kolla in hur det ser ut med en oavslutad kopia av den här artikeln på skärmdumpen nedan

3. Stavning och en offline tesaurus

Vim har en inbyggd stavningskontroll. Du kan göra din "WordProcessor" -funktion använda den förmågan genom att använda kommandot setlocal spell spelllang=en_us . Du kan definiera flera språk här på en kommaseparerad lista.

Hitta fler språkfiler på denna Vim FTP-sida. Placera dina valda filer (både .spl och .sug-filer för varje språk) i "$ HOME / .vim / spell /." Ändra din funktionslinje för att set spelllang=en_us, nl, medical, till exempel för att söka efter engelska, Holländska och medicinska ord.

Felstavade ord kommer att dyka upp som understruken och fet i din text.

Du kan söka efter ersättningar genom att ange :z= i normalläge. (Använd Escape-knappen för att komma till Normal-läget.) Det här kommandot kommer att producera en skärm som följande bild.

Du kan använda Vims tesaurusfunktion genom att säga det till din valda tesauruskatalog med set thesaurus+=/home//.vim/thesaurus/mthesaur.txt eller liknande. Du kan hitta filen "mthesaur.txt" på Project Gutenberg. Placera din nedladdade textfil i katalogen du definierar med det kommandot.

Sök efter ord som liknar ditt markerade ord genom att ange infogningsläge (tryck på i när i normalt läge) och skriv Ctrl + x och sedan Ctrl + t. Den visar dig en lista som följande bild som du kan bläddra igenom för att hitta ett nytt ord.

Ibland är förslagen inte bäst.

4. Autofullständiga ord med alternativet "komplett"

Titta på set complete+=s för vår sista övervägning. Det här alternativet berättar för Vim att söka i synonymordlistan för ett ord som du vill autofullställa.

Normalt kan du autofullständiga ord genom att Vim titta på tidigare ord du har skrivit, till exempel "missstavat" och "misstag" i följande skärmdump. Du skriver bara in Infogningsläge och skriver Ctrl + n eller Ctrl + p för att leta efter ett ord som exempelvis den halvstavade "fel" matchningen.

Se hur de två första valen inte är från samordnaren? Dessa två rader är de enda alternativen du skulle se här om vår funktion inte hade använt "komplett + = s". Du kan släppa ut eller kommentera den raden för snabbare autokompletter.

Starta din ordbehandlare

Den sista raden i din .vimrc som gör WordProcessor-funktionen fungerar är com! WP call WordProcessor() com! WP call WordProcessor() . Det låter dig skriva :WP i Normal läge för att ställa in Vims ordbehandlingsförmåga.

Du kan redigera "WP" i den här raden för att läsa allt du vill - bara se till att texten är angränsande. Vilken text du än väljer ändrar du kommandot till :

Slutsats

Funktionen som jag har diskuterat här varar bara för en enda Vim-session. Därför, när du stänger och öppnar Vim, återställs standardinställningarna igen. Detta kommer att hända även om du öppnar samma fil en gång till.

Du kan ställa in dessa alternativ utanför funktionen för att få dem att fungera hela tiden, men de kan inte göra rättvisa för många av de programmeringsuppgifter som Vim gjordes för att hantera. Det är inte svårt att skriva ett par tecken ändå. Bara njut av dina nya inställningar och det faktum att du har gjort din terminal till en kraftfull styvredigerare.