Innehållsförteckning
Målet för VI-läget är inte att vara en fullständig ersättning av Vim och stödja alla funktioner i Vim. Dess mål är att göra ”Vim-sättet” att redigera (och vanorna inlärda med Vim) tillgängligt för program som använder texteditorn KatePart som intern editor.
VI-lägets mål är att integreras väl med programmet och skilja sig från Vims beteende när det är lämpligt. Exempelvis öppnas en dialogruta för att spara med :w i KateParts VI-läge.
För att aktivera VI-inmatningsläget för alla nya vyer, gå till → + → . Under denna flik kan du ställa in alternativ för VI-inmatningsläget samt definiera och redigera tangentbindningarna för läget. Vi-inmatningsläge kan också växlas med inställningen i menyn . (Normal genväg är Meta+Ctrl+V, där Meta oftast är Windows-tangenten).
Notera
Många tangentbordskommandon i VI-läget är skiftlägeskänslig, i motsats till de flesta tangentbordsgenvägar i KDE. Det betyder att y och Y är olika kommandon. För att skriva in kommandot y (ryck ut), försäkra dig om att Caps Lock inte är aktivt och tryck på Y. För att skriva in kommandot Y (ryck ut till radens slut), tryck på Skift+Y.
Detta gäller inte för kommandon som använder Ctrl-tangenten, vilka kan skrivas in oberoende av värdet på Caps Lock och utan att hålla ner Skift. Dock kräver vissa kommandon användning av Ctrl-tangenten följt av en annan tangent som är skiftlägeskänslig. För att exempelvis skriva in ”Ctrl+Wh” (byt till delad vy höger) försäkra dig om att Caps Lock inte är aktivt, tryck på Ctrl+W, släpp, och tryck därefter på H.
Det finns bara ett fåtal funktioner i KateParts VI-läge som är inkompatibla med Vim (om man inte räknar saknade funktioner). De listas nedan tillsammans med respektive orsak.
KatePart:
Uoch Ctrl+R är gör om.Vim: Ctrl+R är vanlig gör om, U används för att ångra alla senaste ändringarna på en rad.
Orsaken att låta U fungera som ångra i KateParts VI-läge är att genvägen Ctrl+R normalt används av KateParts ersättningsfunktion (sök och ersätt). Normalt överskrider inte VI-läget KateParts genvägar (det kan ställas in i → + → ), och därför måste åtgärden Gör om också vara tillgänglig som en ”vanlig” tangent. Dessutom motsvarar inte beteendet hos kommandot
Ui Vim KateParts interna ångringssystem väl, så det skulle hur som helst inte vara trivialt att stödja.KatePart:
printvisar dialogrutan Skriv ut.Vim:
printskriver ut raderna i det angivna intervallet, liksom i dess föregångare ed.Kommandon som
:printär inte bara tillgängliga i VI-läge, utan också för användare som använder KatePart på ”vanligt” sätt. Därför visar kommandot:printutskriftsdialogrutan, med principen att minimera överraskningar istället för att härma Vims beteende.KatePart:
Yrycker ut till radens slut.Vim:
Yrycker ut hela raden, precis somyy.Vims beteende för kommandot
Yär i praktiken ett fel. Både för ändrings- och borttagningskommandon utförcc/ddåtgärden för aktuell rad ochC/Dfungerar från markörens kolumn till radens slut. Dock rycker bådeyyochYut aktuell rad. I KateParts VI-läge ryckerYut till radens slut. Det beskrivs som ”mer logiskt” i Vims dokumentation.KatePart:
Oochopåbörjar [antal] nya rader och går till infogningsläge.Vim:
Oochopåbörjar en ny rad och infogar text [antal] gånger när infogningsläget lämnas.Det har i huvudsak gjorts som en följd av att ha stött på många som blivit förvirrade av beteendet på en Vim IRC-kanal (#vim på Libera Chat).
Normalt läge låter dig ange kommandon för att navigera eller redigera dokumentet, och är förvalt läge. Du kan återgå till det från vilket annat läge som helst genom att trycka på Esc.
Visningsläge låter dig markera text i ett dokument. De flesta kommandon från normalläget är också giltiga i detta läget. Du kan gå till det genom att trycka på
vför att markera tecken, ellerVför att markera rader.Infogningsläge låter dig redigera dokumentet direkt. Du kan gå till det genom att trycka på
ieller ett av flera andra kommandon som listas nedan.Kommandoläget aktiverar KateParts kommandorad, vilket möjliggör att köra många kommandon tillgängliga i Vi-implementeringar samt vissa specifika för KatePart. För mer information om dessa kommandon, se ”Editorkomponentens kommandorad”. För att använda det, tryck på :, skriv in kommandot och tryck på returtangenten.
Visuellt läge aktiveras automatiskt när text markeras med musen. Det aktiveras också när funktioner i Kate som markerar text används, såsom Markera alla (antingen från menyn eller via Ctrl+A).
Markörer i Vi och bokmärken i Kate är integrerade. När en markör skapas i VI-läge, skapas ett motsvarande bokmärke i Kate, och dyker upp i menyn . Omvänt, när ett bokmärke skapas i Kate, skapas en motsvarande markör i Vi på kolumn 0 också.
| Gå till infogningsläge, lägg till efter markören |
| Gå till infogningsläge, lägg till efter raden |
| Gå till infogningsläge, lägg till före markören |
Insert | Gå till infogningsläge, lägg till före markören |
| Gå till infogningsläge, infoga före första tecken på raden som inte är ett blanktecken |
| Gå till infogningsläge, lägg till före stället där det senaste infogningsläget lämnades |
| Gå till visningsläge, markera tecken |
| Gå till visningsläge, markera rader |
Ctrl+v | Gå till visningsläge, markera block |
| Gå till visningsläge, markera den senaste markeringen igen |
| Påbörja en ny rad under den aktuella raden |
| Påbörja en ny rad ovanför den aktuella raden |
| Kombinera rader |
| Ändra: Följ med en förflyttning för att ta bort och gå till infogningsläge |
| Ändra till radens slut: Ta bort till radens slut och gå till infogningsläge |
| Ändra rad: Ta bort till raden och gå till infogningsläge |
| Ersätt tecken |
| Ersätt rad |
| Ta bort rad |
| Följ med en förflyttning för att ta bort |
| Ta bort till radens slut |
| Ta bort tecken till höger om markören |
Delete | Ta bort tecken till höger om markören |
| Ta bort tecken till vänster om markören |
| Följ med en förflyttning för att ändra till små bokstäver |
| Gör den aktuella raden till små bokstäver |
| Följ med en förflyttning för att ändra till stora bokstäver |
| Gör den aktuella raden till stora bokstäver |
| Följ med en förflyttning för att ”rycka ut” (kopiera) |
| Ryck ut (kopiera) rad |
| Ryck ut (kopiera) rad |
| Klistra in efter markören |
| Klistra in före markören |
| Klistra in efter markören indenterat |
| Klistra in före markören indenterat |
| Följ med ett tecken för att ersätta tecknet efter markören |
| Gå till ersättningsläge |
| Gå till kommandoläge |
| Sök |
| Ångra |
Ctrl+R | Gör om |
| Gör om |
| Ange markering (kan användas av senare förflyttningar) |
| Sök igen |
| Sök föregående |
| Indentera rad |
| Avindentera rad |
| Indentera rader |
| Avindentera rader |
Ctrl+F | Sida ner |
Ctrl+B | Sida upp |
| Skriv ut tecknets ASCIII-värde |
| Upprepa senaste ändring |
| commandAlignLine |
| commandAlignLines |
| Ändra skiftläge för aktuellt tecken |
Ctrl+S | Dela vyn horisontellt |
Ctrl+V | Dela vyn vertikalt |
Ctrl+W, | Gå cykliskt till nästa delade fönster |
Ctrl+W, Ctrl+W Vänster | Gå till det delade fönstret till vänster |
Ctrl+W, Ctrl+W Höger | Gå till det delade fönstret till höger |
Ctrl+W, Ctrl+W Upp | Gå till det delade fönstret ovanför |
Ctrl+W, Ctrl+W Ner | Gå till det delade fönstret nedanför |
Dessa kan användas för att flytta omkring i dokumentet i Normalt läge eller Visningsläge, eller i samband med något av ovanstående kommandon. De kan föregås av ett antal, vilket anger hur många av motsvarande förflyttningar som ska göras.
| Vänster |
Vänster | Vänster |
Baksteg | Vänster |
| Ner |
Ner | Ner |
| Upp |
Upp | Upp |
| Höger |
Höger | Höger |
Mellanslag | Höger |
| Radens slut |
End | Radens slut |
| Radens första tecken (kolumn 0) |
Home | Radens första tecken |
| Radens första tecken som inte är ett blanktecken |
| Följ av tecken för att flytta till höger om markören |
| Följ av tecken för att flytta till vänster om markören |
| Följ med tecken höger om markören att gå till, och placera markören på tecknet före det |
| Följ med tecken vänster om markören att gå till, och placera markören på tecknet före det |
| Första raden |
| Sista raden |
| Nästa ord |
| Nästa ord åtskilt av blanktecken |
| Föregående ord |
| Föregående ord åtskilt av blanktecken |
| Ordets slut |
| Ordets slut åtskilt av blanktecken |
| Föregående ords slut |
| Föregående ords slut åtskilt av blanktecken |
| Följ med kolumnnummer för att gå till den kolumnen |
| Följ med ett objekt för att gå till det objektet |
| Markera |
| Första tecken på raden som inte är ett blanktecken där markeringen är |
| Föregående inledande hakparentes |
| Nästa inledande hakparentes |
| Föregående avslutande hakparentes |
| Nästa avslutande hakparentes |
Ctrl+I | Gå till nästa position |
Ctrl+O | Gå till föregående position |
| Gå till skärmens första rad |
| Gå till raden på skärmens mitt |
| Gå till skärmens sista rad |
| Gå till angivet procentvärde av dokumentet |
| Gå en rad uppåt visuellt (när dynamisk radbrytning används) |
| Gå en rad neråt visuellt (när dynamisk radbrytning används) |
Ctrl+Vänster | Gå ett ord åt vänster |
Ctrl+Höger | Gå ett ord åt höger |
De kan användas för att markera vissa delar av ett dokument.
| Inre ord: Ord inklusive blanktecken |
| Ett ord: Ord exklusive blanktecken |
| Föregående dubbla citationstecken ( |
| Föregående dubbla citationstecken ( |
| Föregående enkla citationstecken ( |
| Föregående enkla citationstecken ( |
| Föregående inledande parentes [ |
| Föregående inledande parentes [ |
| Föregående inledande hakparentes ( |
| Föregående inledande hakparentes ( |
| Föregående inledande klammerparentes ( |
| Föregående inledande klammerparentes ( |
| Föregående inledande vinkelparentes ( |
| Föregående inledande vinkelparentes ( |
| Föregående grava accent ( |
| Föregående grava accent ( |
Ctrl+D | Avindentera |
Ctrl+T | Indentera |
Ctrl+E | Infoga nerifrån |
Ctrl+Y | Ta bort ord |
Ctrl+W | Ta bort ord |
Ctrl+U | Ta bort rad |
Ctrl+J | Ny rad |
Ctrl+H | Ta bort tecken bakåt |
Ctrl+Home | Gå till första tecknet i dokumentet |
Ctrl+R | Infoga innehållet i register n |
Ctrl+O, | Gå till normalt läge för endast ett kommando |
Ctrl+A | Inkrementera talet som för närvarande är markerat |
Ctrl+X | Dekrementera talet som för närvarande är markerat |
Objektet saknas i Vim. Komma-textobjektet gör det enkelt att ändra parameterlistor i C-liknande språk och andra listor åtskilda med kommatecken. Det är egentligen området mellan två kommatecken eller mellan ett kommatecken och en parentes. På raden som visas i illustrationen är de tre områden som textobjektet kan omfatta färglagda.
