|
|
| (En mellanliggande sidversion av samma användare visas inte) |
| Rad 1: |
Rad 1: |
| {{DISPLAYTITLE:vi(1p)}} | | {{DISPLAYTITLE:vi(1p)}} |
|
| |
|
| ''Detta är en ny komplett MediaWiki-fil för den uppladdade manualsidan '''vi(1p)'''. Alla POSIX-avsnitt från originalet finns med. Tekniska kommandon, tangentnamn och specialtecken har bevarats.''
| | == PROLOG == |
|
| |
|
| == PROLOG ==
| | Denna sida bygger på POSIX-manualsidan '''vi(1p)'''. |
|
| |
|
| Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig från POSIX-beskrivningen; se motsvarande Linux-manualsida för detaljer om Linux-specifikt beteende. Det är också möjligt att gränssnittet inte är implementerat på Linux.
| | POSIX-manualen beskriver det standardiserade gränssnittet för '''vi'''. En faktisk Linux-implementation kan skilja sig från POSIX-beskrivningen. Vissa system använder till exempel '''nvi''', '''vim''', '''busybox vi''' eller andra implementationer. |
|
| |
|
| == NAMN == | | == NAMN == |
|
| |
|
| '''vi''' — skärmorienterad, visuell textredigerare | | '''vi''' – skärmorienterad visuell textredigerare |
|
| |
|
| == SYNOPSIS == | | == SYNOPSIS == |
| Rad 19: |
Rad 19: |
| == BESKRIVNING == | | == BESKRIVNING == |
|
| |
|
| Detta verktyg ska tillhandahållas på system som både stöder optionen User Portability Utilities och definierar symbolen POSIX2_CHAR_TERM. På andra system är det valfritt.
| | '''vi''' är en skärmorienterad textredigerare. Den används för att redigera textfiler direkt i en terminal. |
| | |
| Verktyget '''vi''' är en skärmorienterad textredigerare. Endast redigerarens '''open'''- och '''visual'''-lägen beskrivs i POSIX.1-2008. Se även radredigeraren [[ex(1p)]] för ytterligare redigeringsfunktioner som används i '''vi'''. Användaren kan växla fram och tillbaka mellan '''vi''' och '''ex''' och köra '''ex'''-kommandon inifrån '''vi'''.
| |
| | |
| Denna referenssida använder termen ''redigeringsbuffert'' för den text som för närvarande redigeras. Termen innebär inte någon särskild intern implementation. Alla redigeringsändringar utförs på redigeringsbufferten, och inga ändringar påverkar någon fil förrän ett redigerarkommando skriver filen.
| |
| | |
| Vissa terminaler saknar alla funktioner som krävs för att stödja hela POSIX-definitionen av '''vi'''. När dessa kommandon inte kan stödjas på sådana terminaler ska detta inte nödvändigtvis betraktas som ett vanligt kommandofel. Implementationer kan antingen försöka utföra kommandot eller rapportera ett fel som beskriver terminalens bristande funktionalitet.
| |
| | |
| == OPTIONER ==
| |
| | |
| Verktyget '''vi''' ska följa POSIX.1-2017, Base Definitions, avsnitt 12.2, ''Utility Syntax Guidelines'', med undantaget att '''+''' får kännas igen som optionsavgränsare, liksom '''-'''.
| |
| | |
| Följande optioner ska stödjas:
| |
| | |
| '''-c''' ''kommando''
| |
| : Se beskrivningen av '''-c''' i manualen för [[ex(1p)]].
| |
| | |
| '''-r'''
| |
| : Se beskrivningen av '''-r''' i manualen för [[ex(1p)]].
| |
| | |
| '''-R'''
| |
| : Se beskrivningen av '''-R''' i manualen för [[ex(1p)]].
| |
| | |
| '''-t''' ''taggsträng''
| |
| : Se beskrivningen av '''-t''' i manualen för [[ex(1p)]].
| |
| | |
| '''-w''' ''storlek''
| |
| : Se beskrivningen av '''-w''' i manualen för [[ex(1p)]].
| |
| | |
| == OPERANDER ==
| |
| | |
| See the operander avsnitt of the ex kommando for a description of the operander supported by the vi kommando.
| |
| | |
| == STDIN ==
| |
| | |
| If standard inmatning är not en terminal device, results är odefinierad. standard inmatning consists av en series av kommandon och inmatning text, som described i EXTENDED DESCRIPTION avsnitt.
| |
| | |
| If en läs från standard inmatning returns en fel, eller if redigerare detects en slut-av-fil condition från standard inmatning, it ska vara equivalent till en SIGHUP asynchronous event.
| |
| | |
| == INDATAFILER ==
| |
| | |
| See the inmatning filer avsnitt of the ex kommando for a description of the inmatning filer supported by the vi kommando.
| |
| | |
| == MILJÖVARIABLER ==
| |
| | |
| See the ENVIRONMENT VARIABLES avsnitt of the ex kommando for the environment variables that affect the execution of the vi kommando.
| |
| | |
| == ASYNKRONA HÄNDELSER ==
| |
| | |
| See the ASYNCHRONOUS EVENTS avsnitt of the ex for the asynchronous events that affect the execution of the vi kommando.
| |
| | |
| == STDOUT ==
| |
| | |
| If standard utmatning is not a terminal device, odefinierad results occur.
| |
| | |
| standard utmatning kan be used for writing prompts to the user, for informations meddelanden, and for writing rader from the fil.
| |
|
| |
|
| == STDERR ==
| | POSIX-definitionen av '''vi''' beskriver framför allt redigerarens visuella läge och öppna läge. '''vi''' är nära kopplad till linjeredigeraren '''ex'''. Många kommandon i '''vi''' är i själva verket '''ex'''-kommandon som körs genom att man skriver kolon följt av kommandot. |
|
| |
|
| If standard utmatning is not a terminal device, odefinierad results occur.
| | Exempel: |
| | |
| Standardfel ska endast användas för diagnostiska meddelanden.
| |
| | |
| == UTFILER ==
| |
| | |
| See the utmatning filer avsnitt of the ex kommando for a description of the utmatning filer supported by the vi kommando.
| |
| | |
| == UTÖKAD BESKRIVNING ==
| |
| | |
| Om terminalen saknar de funktioner som krävs för att stödja en ospecificerad del av definitionen av vi, ska implementationer initialt starta i ex-läge eller open-läge. I annat fall ska vi efter initiering vara i kommandoläge; textinmatningsläge kan aktiveras med något av flera kommandon som används för att infoga eller ändra text. i text inmatning läge, <ESC> can vara used till return till kommando läge; other uses av <ESC> är described later i denna avsnitt; see Terminate kommando eller inmatning läge .
| |
| | |
| '''Initiering i ex och vi'''
| |
| | |
| See Initialization in ex and vi for a description of ex and vi
| |
| | |
| initialization for the vi verktyg.
| |
| | |
| '''Kommandobeskrivningar i vi'''
| |
| | |
| Följande symboler används på denna referenssida för att representera argument till kommandon.
| |
| | |
| buffert See the description of buffert in the EXTENDED DESCRIPTION avsnitt of the ex verktyg; see kommando Descriptions in ex .
| |
| | |
| i open och visuellt läge, när en kommando synopsis shows both [ buffert ] och [ count ] föregående kommando name, they can vara angiven i either order.
| |
| | |
| count Ett positivt heltal som används som valfritt argument till de flesta kommandon, antingen för att ange ett repetitionsantal eller en storlek. Detta argument är valfritt och ska som standard vara 1 om inget annat anges.
| |
|
| |
|
| <pre> | | <pre> |
| Synopsis rader för vi kommandon <kontroll>-G, <kontroll>-L, <kontroll>-R, <kontroll>-], % , & , ^ , D , m , M ,
| | :w |
| | :q |
| | :wq |
| | :set number |
| | :%s/gammalt/nytt/g |
| </pre> | | </pre> |
|
| |
|
| Q , u , U , och ZZ do not have count som en valfri argument. Regardless, it ska not vara en fel till specify en count till dessa kommandon, och någon angiven count ska vara ignorerad.
| | I '''vi''' finns texten som redigeras i en redigeringsbuffert. Ändringar påverkar inte filen på disken förrän användaren skriver bufferten till fil, till exempel med kommandot '''':w'''. |
| | |
| rörelse en valfri trailing argument used av ! , < , > , c , d , och y kommandon, which är used till indicate område av text som ska vara påverkad av kommando. rörelse can vara either one av kommando tecken repeated eller one av several other vi kommandon (listed i följande table). Each av applicable kommandon specifies område av text matched av repeating kommando; each kommando som can vara used som en rörelse kommando specifies område av text it affects.
| |
| | |
| kommandon som take rörelse argument operate på either rader eller tecken, depending på circumstances. när operating på rader, alla rader som fall partially eller wholly within text område angiven för kommando ska vara påverkad. när operating på tecken, endast exact tecken i angiven text område ska vara påverkad. Each rörelse kommando specifies denna individually.
| |
| | |
| när kommandon som kan vara rörelse kommandon är not used som rörelse kommandon, they ska set aktuell position till aktuell rad och kolumn som angiven.
| |
| | |
| Följande kommandon ska vara giltiga markörrörelsekommandon:
| |
|
| |
|
| <apostrophe> ( - j H <carriage-return> ) $ k L <comma> [[ % l M <kontroll>-H ]] _ n N <kontroll>-N { ; t T <kontroll>-P } ? w W <grave-accent> ^ b B <nyrad> + e E <mellanslag> | f F <zero> / h G
| | Terminalskärmen fungerar som ett fönster in i redigeringsbufferten. Markörens position visar aktuell plats i bufferten. |
|
| |
|
| någon count som är angiven till en kommando som has en kopplad rörelse kommando ska vara applied till rörelse kommando. If en count är applied till both kommando och its kopplad rörelse kommando, effect ska vara multiplicative.
| | == VIKTIGA LÄGEN == |
|
| |
|
| Följande symboler används i detta avsnitt för att ange positioner i redigeringsbufferten:
| | === Kommandoläge === |
|
| |
|
| aktuell tecken
| | När '''vi''' startar befinner sig redigeraren normalt i kommandoläge. I detta läge tolkas tangenttryckningar som kommandon. |
|
| |
|
| Tecknet som för närvarande markeras av markören.
| | Exempel: |
| | |
| slut of a rad
| |
| | |
| point located mellan sista non-<nyrad> (if någon) och terminating <nyrad> av en rad. för en empty rad, denna location coincides med början av rad.
| |
| | |
| slut of the edit buffert
| |
| | |
| Platsen som motsvarar slutet av den sista raden i redigeringsbufferten.
| |
| | |
| Följande symboler används i detta avsnitt för att ange kommandoåtgärder:
| |
| | |
| bigword In the POSIX lokal, vi ska recognize four kinds of
| |
| | |
| bigwords :
| |
| | |
| 1. en maximal sequence av non-<blank> tecken preceded och followed av <blank> tecken eller början eller slut av en rad eller edit buffert
| |
| | |
| 2. One or more sequential blank rader
| |
| | |
| 3. första tecken i edit buffert
| |
|
| |
|
| <pre> | | <pre> |
| 4. The sista non-<nyrad> in the edit buffert
| | h flytta markören åt vänster |
| | j flytta markören nedåt |
| | k flytta markören uppåt |
| | l flytta markören åt höger |
| | x ta bort tecknet under markören |
| | dd ta bort aktuell rad |
| | :w skriv filen |
| | :q avsluta |
| </pre> | | </pre> |
|
| |
|
| ord I POSIX-lokalen ska vi känna igen fem slags ord:
| | === Inmatningsläge === |
| | |
| 1. A maximal sequence of letters, digits, and underscores, delimited at both ends by:
| |
| | |
| -- tecken other than letters, digits, or underscores
| |
| | |
| -- början eller slut av en rad
| |
| | |
| -- början eller slut av edit buffert
| |
|
| |
|
| 2. A maximal sequence of tecken other than letters, digits, underscores, or <blank> tecken, delimited at both ends by:
| | I inmatningsläge skrivs tecken in som text i filen. |
|
| |
|
| -- A letter, digit, underscore
| | Vanliga kommandon för att gå till inmatningsläge: |
|
| |
|
| <pre> | | <pre> |
| -- <blank> tecken
| | i infoga före markören |
| | a infoga efter markören |
| | I infoga vid radens början |
| | A infoga vid radens slut |
| | o öppna en ny rad under aktuell rad |
| | O öppna en ny rad över aktuell rad |
| </pre> | | </pre> |
|
| |
|
| -- början eller slut av en rad
| | För att lämna inmatningsläget används: |
| | |
| -- början eller slut av edit buffert
| |
| | |
| 3. One or more sequential blank rader
| |
| | |
| 4. första tecken i edit buffert
| |
|
| |
|
| <pre> | | <pre> |
| 5. The sista non-<nyrad> in the edit buffert
| | Esc |
| </pre> | | </pre> |
|
| |
|
| avsnitt boundary
| | === Ex-läge === |
|
| |
|
| En sektionsgräns är något av följande:
| | Ex-läget nås genom att skriva kolon i kommandoläge. Då kan man skriva ett '''ex'''-kommando. |
|
| |
|
| <pre>
| | Exempel: |
| 1. en rad whose första tecken är en <form-feed>
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| 2. en rad whose första tecken är en open curly brace ( '{' )
| | :w |
| | :q |
| | :q! |
| | :wq |
| | :set number |
| | :set nonumber |
| | :%s/foo/bar/g |
| </pre> | | </pre> |
|
| |
|
| 3. en rad whose första tecken är en <period> och whose second och third tecken matcha en two-tecken pair i avsnitt edit option (see ex )
| | == OPTIONER == |
|
| |
|
| 4. en rad whose första tecken är en <period> och whose endast other tecken matches första tecken av en two-tecken pair i avsnitt edit option, där second tecken av two-tecken pair är en <mellanslag>
| | '''-c''' ''kommando'' |
|
| |
|
| 5. första rad av edit buffert
| | : Kör det angivna kommandot efter att den första filen har lästs in. |
|
| |
|
| <pre>
| | Exempel: |
| 6. The sista rad of the edit buffert if the sista rad of the edit buffert is empty or if it is a ]] or }
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| kommando; otherwise, the sista non-<nyrad> of the sista rad of the edit buffert
| | vi -c 'set number' fil.txt |
| </pre> | | </pre> |
|
| |
|
| stycke boundary
| | '''-r''' |
|
| |
|
| En styckegräns är något av följande:
| | : Återställ en fil efter en tidigare avbruten redigeringssession, om implementationen stöder sådan återställning. |
|
| |
|
| 1. A avsnitt boundary
| | Exempel: |
| | |
| 2. en rad whose första tecken är en <period> och whose second och third tecken matcha en two-tecken pair i stycken edit option (see ex )
| |
| | |
| 3. en rad whose första tecken är en <period> och whose endast other tecken matches första tecken av en two-tecken pair i stycken edit option, där second tecken av two-tecken pair är en <mellanslag>
| |
| | |
| 4. One or more sequential blank rader
| |
| | |
| ihågkommen sökning direction
| |
| | |
| See description av ihågkommen sökning direction i ex .
| |
| | |
| mening boundary
| |
| | |
| En meningsgräns är något av följande:
| |
| | |
| 1. A stycke boundary
| |
|
| |
|
| <pre> | | <pre> |
| 2. första non-<blank> som occurs efter en stycke boundary
| | vi -r fil.txt |
| </pre> | | </pre> |
|
| |
|
| 3. första non-<blank> som occurs efter en <period> ( '.' ), <exclamation-märke> ( '!' ), eller <question-märke> ( '?' ), followed av two <mellanslag> tecken eller slut av en rad; någon nummer av closing parenthesis ( ')' ), closing brackets ( ']' ), double-quote ( '"' ), eller single- quote (<apostrophe>) tecken can appear mellan punctuation märke och two <mellanslag> tecken eller slut-av-rad
| | '''-R''' |
| | |
| I resten av beskrivningen av verktyget vi, term ``buffert rad'' refers till en rad i edit buffert och term ``visning rad'' refers till rad eller rader på visning skärm used till visning one buffert rad. term ``aktuell rad'' refers till en specific ``buffert rad''.
| |
| | |
| If there är visning rader på skärm för which there är no corresponding buffert rader because they correspond till rader som would vara efter slut av fil, they ska vara displayed som en single <tilde> ( '~' ) tecken, plus terminating <nyrad>.
| |
| | |
| Den sista raden på skärmen ska användas för att rapportera fel eller visa informationsmeddelanden. It ska also vara used till visning inmatning för ``rad-oriented kommandon'' ( / , ? , : , och ! ). när en rad-oriented kommando är executed, redigerare ska enter text inmatning läge på sista rad på skärm, using respective kommando tecken som prompt tecken. (i skiftläge av !
| |
| | |
| kommando, kopplad rörelse ska vara entered av user före redigerare enters text inmatning läge.) rad entered av user ska vara terminated av en <nyrad>, en non-<kontroll>-V-escaped <carriage-return>, eller unescaped <ESC>. It är ospecificerad if more tecken än require en visning width minus one kolumn nummer av skärm kolumner can vara entered.
| |
| | |
| If någon kommando är executed som overwrites en portion av skärm other än sista rad av skärm (för example, ex
| |
| | |
| suspend eller ! kommandon), other än ex
| |
| | |
| skal kommando, user ska vara prompted för en tecken före skärm är refreshed och edit session continued.
| |
| | |
| <tabb> tecken ska take up nummer av kolumner på skärm set av tabstop edit option (see ex ), unless there är less än som nummer av kolumner före visning margin som kommer att cause displayed rad till vara folded; i denna skiftläge, they ska endast take up nummer av kolumner up till som boundary.
| |
| | |
| Markören ska placeras på den aktuella raden och i förhållande till aktuell kolumn så som anges av varje kommando som beskrivs i följande avsnitt.
| |
| | |
| i open läge, if aktuell rad är not already displayed, then it ska vara displayed.
| |
| | |
| i visuellt läge, if aktuell rad är not displayed, then rader som är displayed ska vara expanded, scrolled, eller redrawn till cause en ospecificerad portion av aktuell rad till vara displayed. If skärm är redrawn, no more än nummer av visning rader angiven av värde av fönster edit option ska vara displayed (unless aktuell rad cannot vara completely displayed i nummer av visning rader angiven av fönster
| |
| | |
| edit option) och aktuell rad ska vara positioned som close till center av displayed rader som possible (within constraints imposed av distance av rad från början eller slut av edit buffert). If aktuell rad är före första rad i visning och skärm är scrolled, en ospecificerad portion av aktuell rad ska vara placed på första rad av visning. If aktuell rad är efter sista rad i visning och skärm är scrolled, en ospecificerad portion av aktuell rad ska vara placed på sista rad av visning.
| |
| | |
| i visuellt läge, if en rad från edit buffert (other än aktuell rad) does not entirely fit into rader at bottom av visning som är tillgänglig för its presentation, redigerare kan choose not till visning någon portion av rad. rader av visning som do not contain text från edit buffert för denna reason ska each consist av en single '@' tecken.
| |
| | |
| i visuellt läge, redigerare kan choose för ospecificerad reasons till not update rader i visning till correspond till underlying edit buffert text. rader av visning som do not correctly correspond till text från edit buffert för denna reason ska consist av en single '@' tecken (plus terminating <nyrad>), och <kontroll>-R kommando ska cause redigerare till update skärm till correctly represent edit buffert.
| |
| | |
| open och visuellt läge kommandon som set aktuell kolumn set it till en kolumn position i visning, och not en tecken position i rad. i denna skiftläge, however, kolumn position i visning ska vara calculated för en infinite width visning; för example, kolumn related till en tecken som är part av en rad som has varit folded onto additional skärm rader kommer att vara offset från visning rad kolumn där buffert rad begins, not från början av en particular visning rad.
| |
| | |
| visning markör kolumn i visning är based på värde av aktuell kolumn, som follows, med each rule applied i turn:
| |
| | |
| 1. If aktuell kolumn är efter sista visning rad kolumn used av displayed rad, visning markör kolumn ska vara set till sista visning rad kolumn occupied av sista non-<nyrad> i aktuell rad; otherwise, visning markör kolumn ska vara set till aktuell kolumn.
| |
| | |
| 2. If tecken av which some portion är displayed i visning rad kolumn angiven av visning markör kolumn requires more än en single visning rad kolumn:
| |
|
| |
|
| en. If i text inmatning läge, visning markör kolumn ska vara adjusted till första visning rad kolumn i which någon portion av som tecken är displayed.
| | : Öppna filen i skrivskyddat läge. Detta motsvarar normalt att sätta redigerarens '''readonly'''-alternativ. |
|
| |
|
| b. Otherwise, visning markör kolumn ska vara adjusted till sista visning rad kolumn i which någon portion av som tecken är displayed.
| | Exempel: |
| | |
| aktuell kolumn ska not vara ändrad av dessa adjustments till visning markör kolumn.
| |
| | |
| If an fel occurs during the parsing or execution of a vi
| |
| | |
| kommando:
| |
| | |
| * terminal ska vara alerted. Execution av vi kommando ska stop, och markör (för example, aktuell rad och kolumn) ska not vara further modified.
| |
| | |
| * Unless otherwise angiven av följande kommando avsnitt, it är ospecificerad whether en informations meddelande ska vara displayed.
| |
| | |
| * någon partially entered vi kommando ska vara discarded.
| |
| | |
| * If vi kommando resulted från en map expansion, alla tecken från som map expansion ska vara discarded, except som otherwise angiven av map kommando (see ex ).
| |
| | |
| * If vi kommando resulted från execution av en buffert, no further kommandon caused av execution av buffert ska vara executed.
| |
| | |
| Page Backwards
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-B
| | vi -R fil.txt |
| </pre> | | </pre> |
|
| |
|
| If i open läge, <kontroll>-B kommando ska behave identically till z kommando. Otherwise, if aktuell rad är första rad av edit buffert, it ska vara en fel.
| | '''-t''' ''taggsträng'' |
| | |
| If fönster edit option är less än 3, visning en skärm där sista rad av visning ska vara some portion av:
| |
| | |
| ( aktuell första rad ) -1
| |
| | |
| otherwise, visning en skärm där första rad av visning ska vara some portion av:
| |
| | |
| ( aktuell första rad ) - count x ((fönster edit option) -2)
| |
| | |
| If denna calculation would result i en rad som är före första rad av edit buffert, första rad av visning ska visning some portion av första rad av edit buffert.
| |
| | |
| aktuell rad : If no rader från föregående visning remain på skärm, set till sista rad av visning; otherwise, set till ( rad - nummer av new rader displayed på denna skärm).
| |
|
| |
|
| aktuell kolumn : Set to non-<blank>.
| | : Öppna redigeraren vid den plats som motsvarar taggen ''taggsträng''. Detta används tillsammans med taggfiler, ofta skapade av '''ctags'''. |
|
| |
|
| Scroll Forward
| | Exempel: |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-D
| | vi -t main |
| </pre> | | </pre> |
|
| |
|
| If the aktuell rad is the sista rad of the edit buffert, it ska be an fel.
| | '''-w''' ''storlek'' |
|
| |
|
| If no count is angiven, count ska standard to the count
| | : Anger fönsterstorlek eller relaterad skärminställning enligt implementationens och '''ex'''-manualens beskrivning. |
|
| |
|
| kopplad med föregående <kontroll>-D eller <kontroll>-U kommando. If there was no föregående <kontroll>-D eller <kontroll>-U kommando, count
| | == OPERANDER == |
|
| |
|
| ska standard till värde av scroll edit option.
| | ''fil'' |
|
| |
|
| If i open läge, skriv rader starting med rad after aktuell rad, until count rader eller sista rad av fil have varit skriven.
| | : En eller flera filer som ska öppnas för redigering. |
|
| |
|
| aktuell rad : If aktuell rad + count är past sista rad av edit buffert, set till sista rad av edit buffert; otherwise, set till aktuell rad + count .
| | Exempel: |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| Scroll Forward by rad
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-E
| | vi fil.txt |
| | vi fil1.txt fil2.txt |
| </pre> | | </pre> |
|
| |
|
| visning the rad count rader after the sista rad currently displayed.
| | Om flera filer anges kan man växla mellan dem med '''ex'''-kommandon som: |
| | |
| If sista rad av edit buffert är displayed, it ska vara en fel. If there är no rad count rader efter sista rad currently displayed, sista rad av visning ska visning some portion av sista rad av edit buffert.
| |
| | |
| aktuell rad : Unchanged if föregående aktuell tecken är displayed; otherwise, set till första rad displayed.
| |
| | |
| aktuell kolumn : Unchanged.
| |
| | |
| Page Forward
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-F
| | :n |
| | :next |
| | :prev |
| | :rewind |
| </pre> | | </pre> |
|
| |
|
| If i open läge, <kontroll>-F kommando ska behave identically till z kommando. Otherwise, if aktuell rad är sista rad av edit buffert, it ska vara en fel.
| | == STANDARDINMATNING == |
|
| |
|
| If fönster edit option är less än 3, visning en skärm där första rad av visning ska vara some portion av:
| | '''vi''' är en interaktiv terminalredigerare. Om standardinmatningen inte är en terminal är resultatet odefinierat enligt POSIX. |
|
| |
|
| ( aktuell sista rad ) +1
| | == STANDARDUTMATNING OCH STANDARDFEL == |
|
| |
|
| otherwise, visning en skärm där första rad av visning ska vara some portion av:
| | '''vi''' förutsätter normalt att både inmatning och utmatning sker via en terminal. Skärmen används för redigeringsfönstret, meddelanden, statusrader och kommandorad. |
|
| |
|
| ( aktuell första rad ) + count x ((fönster edit option) -2)
| | Diagnostiska meddelanden skrivs normalt till terminalen. |
|
| |
|
| If denna calculation would result i en rad som är efter sista rad av edit buffert, sista rad av visning ska visning some portion av sista rad av edit buffert.
| | == MILJÖVARIABLER == |
| | |
| aktuell rad : If no rader från föregående visning remain på skärm, set till första rad av visning; otherwise, set till ( rad + nummer av new rader displayed på denna skärm).
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| visning Information
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| <kontroll>-G
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| fil kommando.
| |
| | |
| flytta markör Backwards
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] <kontroll>-H
| |
| </pre>
| |
| | |
| <pre>
| |
| [ count ] h the aktuell erase tecken (see stty)
| |
| </pre>
| |
| | |
| If there are no tecken before the aktuell tecken on the aktuell rad, it ska be an fel. If there are less than count
| |
| | |
| föregående tecken på aktuell rad, count ska vara adjusted till nummer av föregående tecken på rad.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska vara från tecken före starting markör up till och including count th tecken före starting markör.
| |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | Följande miljövariabler är särskilt viktiga för '''vi'''-liknande redigerare. |
|
| |
|
| If not used som en rörelse kommando:
| | '''TERM''' |
|
| |
|
| aktuell rad : Unchanged.
| | : Anger terminaltyp. Redigeraren använder terminaltypen för att veta hur skärmen ska styras. |
|
| |
|
| aktuell kolumn : Set to ( kolumn - the nummer of kolumner occupied by
| | '''HOME''' |
|
| |
|
| count tecken ending med föregående aktuell kolumn).
| | : Används ofta för att hitta användarens konfigurationsfiler. |
|
| |
|
| flytta Down
| | '''SHELL''' |
|
| |
|
| Synopsis :
| | : Anger vilket skal som används när externa kommandon körs. |
|
| |
|
| <pre>
| | '''EXINIT''' |
| [ count ] <nyrad>
| |
| </pre>
| |
|
| |
|
| <pre>
| | : Kan användas av vissa implementationer för initialiseringskommandon. |
| [ count ] <kontroll>-J
| |
| </pre>
| |
|
| |
|
| <pre>
| | == GRUNDLÄGGANDE ARBETSGÅNG == |
| [ count ] <kontroll>-M
| |
| </pre>
| |
|
| |
|
| <pre>
| | Öppna en fil: |
| [ count ] <kontroll>-N
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] j
| | vi fil.txt |
| </pre> | | </pre> |
|
| |
|
| <pre>
| | Gå till inmatningsläge: |
| [ count ] <carriage-return>
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] +
| | i |
| </pre> | | </pre> |
|
| |
|
| If there are less than count rader after the aktuell rad in the edit buffert, it ska be an fel.
| | Skriv text. |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska include starting rad och nästa
| |
| | |
| count - 1 rader.
| |
| | |
| 2. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Set till aktuell rad + count .
| |
| | |
| aktuell kolumn : Set till non-<blank> för <carriage-return>, <kontroll>-M, och + kommandon; otherwise, unchanged.
| |
| | |
| Clear and Redisplay
| |
|
| |
|
| Synopsis :
| | Gå tillbaka till kommandoläge: |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-L
| | Esc |
| </pre> | | </pre> |
|
| |
|
| If i open läge, clear skärm och redisplay aktuell rad. Otherwise, clear och redisplay skärm.
| | Spara filen: |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Unchanged.
| |
| | |
| flytta Up
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-P
| | :w |
| </pre> | | </pre> |
|
| |
|
| <pre>
| | Avsluta: |
| [ count ] k
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] -
| | :q |
| </pre> | | </pre> |
|
| |
|
| If there are less than count rader before the aktuell rad in the edit buffert, it ska be an fel.
| | Spara och avsluta: |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska include starting rad och föregående count rader.
| |
| | |
| 2. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Set to aktuell rad - count .
| |
| | |
| aktuell kolumn : Set to non-<blank> for the - kommando; otherwise, unchanged.
| |
| | |
| Redraw skärm
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-R
| | :wq |
| </pre> | | </pre> |
|
| |
|
| If någon rader have varit borttagen från visning skärm och flagged som borttagen på terminal using @ convention (see början av EXTENDED DESCRIPTION avsnitt), they ska vara redisplayed till matcha contents av edit buffert.
| | Avsluta utan att spara: |
| | |
| It är ospecificerad whether rader flagged med @ because they do not fit på terminal visning ska vara påverkad.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Unchanged.
| |
| | |
| Scroll Backward
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] <kontroll>-U
| | :q! |
| </pre> | | </pre> |
|
| |
|
| If aktuell rad är första rad av edit buffert, it ska vara en fel.
| | == MARKÖRRÖRELSER == |
|
| |
|
| If no count is angiven, count ska standard to the count
| | === Enkla rörelser === |
|
| |
|
| kopplad med föregående <kontroll>-D eller <kontroll>-U kommando. If there was no föregående <kontroll>-D eller <kontroll>-U kommando, count
| | '''h''' |
|
| |
|
| ska standard till värde av scroll edit option.
| | : Flytta ett tecken åt vänster. |
|
| |
|
| aktuell rad : If count is greater than the aktuell rad, set to 1; otherwise, set to the aktuell rad - count .
| | '''j''' |
|
| |
|
| aktuell kolumn : Set to non-<blank>.
| | : Flytta en rad nedåt. |
|
| |
|
| Scroll Backward by rad
| | '''k''' |
|
| |
|
| Synopsis :
| | : Flytta en rad uppåt. |
|
| |
|
| <pre>
| | '''l''' |
| [ count ] <kontroll>-Y
| |
| </pre>
| |
|
| |
|
| visning rad count rader before första rad currently displayed.
| | : Flytta ett tecken åt höger. |
|
| |
|
| If aktuell rad är första rad av edit buffert, it ska vara en fel. If denna calculation would result i en rad som är före första rad av edit buffert, första rad av visning ska visning some portion av första rad av edit buffert.
| | '''mellanslag''' |
|
| |
|
| aktuell rad : Unchanged if föregående aktuell tecken är displayed; otherwise, set till första rad displayed.
| | : Flytta ett tecken åt höger. |
|
| |
|
| aktuell kolumn : Unchanged.
| | '''Backspace''' |
|
| |
|
| Edit the Alternate fil
| | : Flytta ett tecken åt vänster, om implementationen stöder detta. |
|
| |
|
| Synopsis :
| | === Rörelser inom rad === |
|
| |
|
| <pre>
| | '''0''' |
| <kontroll>-^
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| edit kommando, with the alternate pathname as its argument.
| |
| | |
| Terminate kommando eller inmatning läge
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| <ESC>
| |
| </pre>
| |
| | |
| If a partial vi kommando (as defined by at least one, non- count
| |
| | |
| tecken) has been entered, discard the count and the kommando tecken(s).
| |
|
| |
|
| Otherwise, if no kommando tecken have varit entered, och <ESC> was result av en map expansion, terminal ska vara alerted och <ESC> tecken ska vara discarded, but it ska not vara en fel.
| | : Flytta till radens början. |
|
| |
|
| Otherwise, it ska be an fel.
| | '''^''' |
|
| |
|
| aktuell rad : Unchanged.
| | : Flytta till första icke-blanka tecknet på raden. |
|
| |
|
| aktuell kolumn : Unchanged.
| | '''$''' |
|
| |
|
| sökning för tagstring
| | : Flytta till radens slut. |
|
| |
|
| Synopsis :
| | '''|''' |
|
| |
|
| <pre>
| | : Flytta till en viss kolumn på raden. Om ett antal anges används detta som kolumnnummer. |
| <kontroll>-]
| |
| </pre>
| |
|
| |
|
| If the aktuell tecken is not a ord or <blank>, it ska be an fel.
| | Exempel: |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| tag kommando, with the argument to that kommando defined as follows.
| |
|
| |
|
| <pre> | | <pre> |
| If the aktuell tecken is a <blank>:
| | 10| |
| </pre> | | </pre> |
|
| |
|
| 1. Skip alla <blank> tecken efter markör up till slut av rad.
| | === Rörelser mellan ord === |
| | |
| 2. If the slut of the rad is reached, it ska be an fel.
| |
| | |
| Then, the argument to the ex
| |
| | |
| tag kommando ska vara aktuell tecken och alla subsequent tecken, up till första non-ord tecken eller slut av rad.
| |
| | |
| flytta markör Forward
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] <mellanslag>
| |
| </pre>
| |
| | |
| <pre>
| |
| [ count ] l (ell)
| |
| </pre>
| |
| | |
| If there är less än count non-<nyrad> tecken efter markör på aktuell rad, count ska vara adjusted till nummer av non-<nyrad> tecken efter markör på rad.
| |
| | |
| If used som en rörelse kommando:
| |
|
| |
|
| 1. If aktuell eller count th tecken efter markör är sista non-<nyrad> i rad, text område ska vara comprised av aktuell tecken up till och including sista non-<nyrad> i rad. Otherwise, text område ska vara från aktuell tecken up till, but not including, count th tecken efter markör.
| | '''w''' |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | : Flytta till början av nästa ord. |
|
| |
|
| If not used som en rörelse kommando:
| | '''W''' |
|
| |
|
| If there are no non-<nyrad> tecken after the aktuell tecken on the aktuell rad, it ska be an fel.
| | : Flytta till början av nästa stort ord. Ett stort ord avgränsas normalt endast av blanktecken. |
|
| |
|
| aktuell rad : Unchanged.
| | '''b''' |
|
| |
|
| aktuell kolumn : Set till the sista kolumn that displays någon portion av the count th tecken after the aktuell tecken.
| | : Flytta till början av föregående ord. |
|
| |
|
| ersätt text med Results från skal kommando
| | '''B''' |
|
| |
|
| Synopsis :
| | : Flytta till början av föregående stort ord. |
|
| |
|
| <pre>
| | '''e''' |
| [ count ] ! rörelse skal-kommandon <nyrad>
| |
| </pre>
| |
|
| |
|
| If rörelse kommando är ! kommando repeated:
| | : Flytta till slutet av aktuellt eller nästa ord. |
|
| |
|
| 1. If the edit buffert is empty and no count was supplied, the kommando ska be the equivalent of the ex
| | '''E''' |
|
| |
|
| :läs ! kommando, med text inmatning, och no text ska vara copied till någon buffert. | | : Flytta till slutet av aktuellt eller nästa stort ord. |
|
| |
|
| 2. Otherwise:
| | == RAD- OCH FILRÖRELSER == |
|
| |
|
| a. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| | '''G''' |
|
| |
|
| b. text område ska vara från aktuell rad up till och including nästa count -1 rader.
| | : Flytta till sista raden i filen. Om ett antal anges flyttas markören till den raden. |
|
| |
|
| Otherwise, text område ska vara rader i which någon tecken av text område angiven av rörelse kommando appear.
| | Exempel: |
| | |
| någon text copied till en buffert ska vara i rad läge.
| |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| ! kommando för angiven rader.
| |
| | |
| flytta markör till slut-av-rad
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] $
| | G |
| | 1G |
| | 25G |
| </pre> | | </pre> |
|
| |
|
| It ska be an fel if there are less than ( count -1) rader after the aktuell rad in the edit buffert.
| | '''+''' |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If count is 1:
| |
| | |
| a. It ska be an fel if the rad is empty.
| |
| | |
| b. Otherwise, text område ska consist av alla tecken från starting markör till sista non-<nyrad> i rad, inclusive, och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| 2. Otherwise, if starting markör position är at eller före första non-<blank> i rad, text område ska consist av aktuell och nästa count -1 rader, och någon text saved till en buffert ska vara i rad läge.
| |
| | |
| 3. Otherwise, text område ska consist av alla tecken från starting markör till sista non-<nyrad> i rad som är count -1 rader forward från aktuell rad, och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Set till aktuell rad + count -1.
| |
| | |
| aktuell kolumn : The aktuell kolumn is set to the sista visning rad kolumn of the sista non-<nyrad> in the rad, or kolumn position 1 if the rad is empty.
| |
| | |
| aktuell kolumn ska vara adjusted till vara på sista visning rad kolumn av sista non-<nyrad> av aktuell rad som subsequent kommandon ändra aktuell rad, until en kommando changes aktuell kolumn.
| |
| | |
| flytta to matchande tecken
| |
|
| |
|
| Synopsis :
| | : Flytta till första icke-blanka tecknet på nästa rad. |
|
| |
|
| %
| | '''-''' |
|
| |
|
| If tecken at aktuell position är not en parenthesis, bracket, eller curly brace, sökning forward i rad till första one av de tecken. If no such tecken är found, it ska vara en fel.
| | : Flytta till första icke-blanka tecknet på föregående rad. |
|
| |
|
| matchande tecken ska vara parenthesis, bracket, eller curly brace matchande parenthesis, bracket, eller curly brace, respectively, som was at aktuell position eller som was found på aktuell rad.
| | '''Enter''' |
|
| |
|
| matchande ska be determined as follows, for an open parenthesis:
| | : Flytta till första icke-blanka tecknet på nästa rad. |
|
| |
|
| 1. Set a counter to 1.
| | '''H''' |
|
| |
|
| 2. sökning forwards until en parenthesis är found eller slut av edit buffert är reached.
| | : Flytta till översta raden i skärmfönstret. |
|
| |
|
| 3. If the slut of the edit buffert is reached, it ska be an fel.
| | '''M''' |
|
| |
|
| 4. If an open parenthesis is found, increment the counter by 1.
| | : Flytta till mittenraden i skärmfönstret. |
|
| |
|
| 5. If a close parenthesis is found, decrement the counter by 1.
| | '''L''' |
|
| |
|
| 6. If the counter is zero, the aktuell tecken is the matchande tecken.
| | : Flytta till nedersta raden i skärmfönstret. |
|
| |
|
| matchande för en close parenthesis ska vara equivalent, except som sökning ska vara backwards, från starting tecken till början av buffert, en close parenthesis ska increment counter av 1, och en open parenthesis ska decrement counter av 1.
| | == SKÄRMRULLNING == |
|
| |
|
| matchande för brackets och curly braces ska vara equivalent, except som searching ska vara done för open och close brackets eller open och close curly braces. It är implementation-defined whether other tecken är searched för och matched som well.
| | '''Ctrl-F''' |
|
| |
|
| If used som en rörelse kommando:
| | : Rulla framåt en skärm. |
|
| |
|
| 1. If matchande markör was efter starting markör i edit buffert, och starting markör position was at eller före första non-<blank> non-<nyrad> i starting rad, och matchande markör position was at eller efter sista non-<blank> non-<nyrad> i matchande rad, text område ska consist av aktuell rad till matchande rad, inclusive, och någon text copied till en buffert ska vara i rad läge.
| | '''Ctrl-B''' |
|
| |
|
| 2. If matchande markör was före starting markör i edit buffert, och starting markör position was at eller efter sista non-<blank> non-<nyrad> i starting rad, och matchande markör position was at eller före första non-<blank> non-<nyrad> i matchande rad, text område ska consist av aktuell rad till matchande rad, inclusive, och någon text copied till en buffert ska vara i rad läge.
| | : Rulla bakåt en skärm. |
|
| |
|
| 3. Otherwise, text område ska consist av starting tecken till matchande tecken, inclusive, och någon text copied till en buffert ska vara i tecken läge.
| | '''Ctrl-D''' |
|
| |
|
| If not used som en rörelse kommando:
| | : Rulla nedåt, normalt en halv skärm. |
|
| |
|
| aktuell rad : Set to the rad where the matchande tecken is located.
| | '''Ctrl-U''' |
|
| |
|
| aktuell kolumn : Set till the sista kolumn where någon portion av the matchande tecken är displayed.
| | : Rulla uppåt, normalt en halv skärm. |
|
| |
|
| upprepa substitution
| | '''Ctrl-E''' |
|
| |
|
| Synopsis :
| | : Rulla skärmen en rad nedåt. |
|
| |
|
| &
| | '''Ctrl-Y''' |
|
| |
|
| upprepa föregående substitution kommando. denna kommando ska vara equivalent till ex
| | : Rulla skärmen en rad uppåt. |
|
| |
|
| & kommando med aktuell rad som its addresses, och utan optioner , count , eller flags .
| | '''Ctrl-L''' |
|
| |
|
| Return till föregående Context at början av rad
| | : Rita om skärmen. |
|
| |
|
| Synopsis :
| | '''Ctrl-R''' |
|
| |
|
| ' tecken
| | : Rita om skärmen. |
|
| |
|
| It ska be an fel if there is no rad in the edit buffert marked by tecken .
| | '''Ctrl-G''' |
|
| |
|
| If used som en rörelse kommando:
| | : Visa information om aktuell fil, radnummer och status. |
|
| |
|
| 1. If starting markör är efter marked markör, then locations av starting markör och marked markör i edit buffert ska vara logically swapped.
| | == SÖKNING == |
|
| |
|
| 2. text område ska consist av starting rad up till och including marked rad, och någon text copied till en buffert ska vara i rad läge.
| | '''/''' ''mönster'' |
|
| |
|
| If not used som en rörelse kommando:
| | : Sök framåt efter ett mönster. |
|
| |
|
| aktuell rad : Set till rad referenced av märke.
| | '''?''' ''mönster'' |
|
| |
|
| aktuell kolumn : Set to non-<blank>.
| | : Sök bakåt efter ett mönster. |
|
| |
|
| Return till föregående Context
| | '''n''' |
|
| |
|
| Synopsis :
| | : Upprepa den senaste sökningen i samma riktning. |
|
| |
|
| ` tecken
| | '''N''' |
|
| |
|
| It ska vara en fel if marked rad är no longer i edit buffert. If marked rad no longer contains en tecken i saved numbered tecken position, it ska vara som if marked position är första non-<blank>.
| | : Upprepa den senaste sökningen i motsatt riktning. |
|
| |
|
| If used som en rörelse kommando:
| | Exempel: |
| | |
| 1. It ska vara en fel if marked markör references samma tecken i edit buffert som starting markör.
| |
| | |
| 2. If starting markör är efter marked markör, then locations av starting markör och marked markör i edit buffert ska vara logically swapped.
| |
| | |
| 3. If starting rad är empty eller starting markör är at eller före första non-<blank> non-<nyrad> av starting rad, och marked markör rad är empty eller marked markör references första tecken av marked markör rad, text område ska consist av alla rader containing tecken från starting markör till rad före marked markör rad, inclusive, och någon text copied till en buffert ska vara i rad läge.
| |
| | |
| 4. Otherwise, if marked markör rad är empty eller marked markör references en tecken at eller före första non-<blank> non-<nyrad> av marked markör rad, område av text ska vara från starting markör till sista non-<nyrad> av rad före marked markör rad, inclusive, och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| 5. Otherwise, område av text ska vara från starting markör (inclusive), till marked markör (exclusive), och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Set till rad referenced av märke.
| |
| | |
| aktuell kolumn : Set till sista kolumn i which någon portion av tecken referenced av märke är displayed.
| |
| | |
| Return till föregående avsnitt
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] [[
| | /main |
| | ?include |
| | n |
| | N |
| </pre> | | </pre> |
|
| |
|
| flytta markör backward through edit buffert till första tecken av föregående avsnitt boundary, count times.
| | == TECKENSÖKNING PÅ AKTUELL RAD == |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If starting markör was at första tecken av starting rad eller starting rad was empty, och första tecken av boundary was första tecken av boundary rad, text område ska consist av aktuell rad up till och including rad där count th nästa boundary starts, och någon text copied till en buffert ska vara i rad läge.
| |
| | |
| 2. If boundary was sista rad av edit buffert eller sista non-<nyrad> av sista rad av edit buffert, text område ska consist av sista tecken i edit buffert up till och including starting tecken, och någon text saved till en buffert ska vara i tecken läge.
| |
|
| |
|
| 3. Otherwise, text område ska consist av starting tecken up till but not including första tecken i
| | '''f''' ''tecken'' |
|
| |
|
| count th nästa boundary, och någon text copied till en buffert ska vara i tecken läge.
| | : Flytta framåt till nästa förekomst av tecknet på raden. |
|
| |
|
| If not used som en rörelse kommando:
| | '''F''' ''tecken'' |
|
| |
|
| aktuell rad : Set till rad where count th nästa boundary i edit buffert starts.
| | : Flytta bakåt till föregående förekomst av tecknet på raden. |
|
| |
|
| aktuell kolumn : Set till sista kolumn i which någon portion av första tecken av count th nästa boundary är displayed, eller kolumn position 1 if rad är empty.
| | '''t''' ''tecken'' |
|
| |
|
| flytta till nästa avsnitt
| | : Flytta framåt till tecknet före nästa förekomst av det angivna tecknet. |
|
| |
|
| Synopsis :
| | '''T''' ''tecken'' |
|
| |
|
| <pre>
| | : Flytta bakåt till tecknet efter föregående förekomst av det angivna tecknet. |
| [ count ] ]]
| |
| </pre>
| |
|
| |
|
| flytta markör forward through edit buffert till första tecken av nästa avsnitt boundary, count times.
| | ''';''' |
|
| |
|
| If used som en rörelse kommando:
| | : Upprepa senaste '''f''', '''F''', '''t''' eller '''T''' i samma riktning. |
|
| |
|
| 1. If starting markör was at första tecken av starting rad eller starting rad was empty, och första tecken av boundary was första tecken av boundary rad, text område ska consist av aktuell rad up till och including rad där count th föregående boundary starts, och någon text copied till en buffert ska vara i rad läge.
| | ''',''' |
|
| |
|
| 2. If boundary was första rad av edit buffert, text område ska consist av första tecken i edit buffert up till but not including starting tecken, och någon text copied till en buffert ska vara i tecken läge.
| | : Upprepa senaste '''f''', '''F''', '''t''' eller '''T''' i motsatt riktning. |
|
| |
|
| 3. Otherwise, text område ska consist av första tecken i count th föregående avsnitt boundary up till but not including starting tecken, och någon text copied till en buffert ska vara i tecken läge.
| | == PARENTESMATCHNING == |
|
| |
|
| If not used som en rörelse kommando:
| | '''%''' |
|
| |
|
| aktuell rad : Set till rad där count th föregående boundary i edit buffert starts.
| | : Flytta till matchande parentes, hakparentes eller klammerparentes. |
|
| |
|
| aktuell kolumn : Set till sista kolumn i which någon portion av första tecken av count th föregående boundary är displayed, eller kolumn position 1 if rad är empty.
| | Exempel: |
|
| |
|
| <pre> | | <pre> |
| flytta till första Non-<blank> Position på aktuell rad
| | ( ) |
| | [ ] |
| | { } |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | == INFOGA TEXT == |
|
| |
|
| ^
| | '''i''' |
|
| |
|
| If used som en rörelse kommando:
| | : Infoga text före markören. |
|
| |
|
| 1. If rad has no non-<blank> non-<nyrad> tecken, eller if markör är at första non-<blank> non-<nyrad> av rad, it ska vara en fel.
| | '''I''' |
|
| |
|
| 2. If markör är före första non-<blank> non-<nyrad> av rad, text område ska vara comprised av aktuell tecken, up till, but not including, första non-<blank> non-<nyrad> av rad.
| | : Infoga text vid början av aktuell rad, normalt före första icke-blanka tecken. |
|
| |
|
| 3. If markör är efter första non-<blank> non-<nyrad> av rad, text område ska vara från tecken före starting markör up till och including första non-<blank> non-<nyrad> av rad.
| | '''a''' |
|
| |
|
| 4. någon text copied till en buffert ska vara i tecken läge.
| | : Lägg till text efter markören. |
|
| |
|
| If not used som en rörelse kommando:
| | '''A''' |
|
| |
|
| aktuell rad : Unchanged.
| | : Lägg till text vid radens slut. |
|
| |
|
| aktuell kolumn : Set to non-<blank>.
| | '''o''' |
|
| |
|
| aktuell and rad Above | | : Öppna en ny rad under aktuell rad och gå till inmatningsläge. |
|
| |
|
| Synopsis :
| | '''O''' |
|
| |
|
| <pre>
| | : Öppna en ny rad ovanför aktuell rad och gå till inmatningsläge. |
| [ count ] _
| |
| </pre>
| |
|
| |
|
| If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| | == ERSÄTTA OCH ÄNDRA TEXT == |
|
| |
|
| If used som en rörelse kommando:
| | '''r''' ''tecken'' |
|
| |
|
| 1. If count är less än 2, text område ska vara aktuell rad.
| | : Ersätt tecknet under markören med det angivna tecknet. |
|
| |
|
| 2. Otherwise, text område ska include starting rad och nästa count -1 rader.
| | '''R''' |
|
| |
|
| 3. någon text copied till en buffert ska vara i rad läge.
| | : Gå till ersättningsläge, där inskrivna tecken ersätter befintliga tecken. |
|
| |
|
| If not used som en rörelse kommando:
| | '''s''' |
|
| |
|
| aktuell rad : Set till aktuell rad + count -1.
| | : Ersätt aktuellt tecken med ny text. |
|
| |
|
| aktuell kolumn : Set to non-<blank>.
| | '''S''' |
|
| |
|
| flytta Back till början av mening
| | : Ersätt hela aktuell rad med ny text. |
|
| |
|
| Synopsis :
| | '''c''' ''rörelse'' |
|
| |
|
| <pre>
| | : Ändra textområdet som anges av rörelsen. |
| [ count ] (
| |
| </pre>
| |
|
| |
|
| flytta backward till början av en mening. denna kommando ska vara equivalent till [[ kommando, med exception som mening boundaries ska vara used instead av avsnitt boundaries.
| | Exempel: |
| | |
| flytta Forward till början av mening
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] )
| | cw ändra ord |
| | c$ ändra till radslut |
| | cc ändra hela raden |
| | C ändra till radslut |
| </pre> | | </pre> |
|
| |
|
| flytta forward till början av en mening. denna kommando ska vara equivalent till ]] kommando, med exception som mening boundaries ska vara used instead av avsnitt boundaries.
| | == TA BORT TEXT == |
|
| |
|
| flytta Back till föregående stycke
| | '''x''' |
|
| |
|
| Synopsis :
| | : Ta bort tecknet under markören. |
|
| |
|
| <pre>
| | '''X''' |
| [ count ] {
| |
| </pre>
| |
|
| |
|
| flytta back till början av föregående stycke. denna kommando ska vara equivalent till [[ kommando, med exception som stycke boundaries ska vara used instead av avsnitt boundaries.
| | : Ta bort tecknet före markören. |
|
| |
|
| flytta Forward till nästa stycke
| | '''d''' ''rörelse'' |
|
| |
|
| Synopsis :
| | : Ta bort textområdet som anges av rörelsen. |
|
| |
|
| <pre>
| | Vanliga former: |
| [ count ] }
| |
| </pre>
| |
| | |
| flytta forward till början av nästa stycke. denna kommando ska vara equivalent till ]] kommando, med exception som stycke boundaries ska vara used instead av avsnitt boundaries.
| |
| | |
| flytta to Specific kolumn Position
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] |
| | dw ta bort ord |
| | d$ ta bort till radslut |
| | d0 ta bort till radbörjan |
| | dd ta bort aktuell rad |
| | D ta bort till radslut |
| </pre> | | </pre> |
|
| |
|
| för purposes av denna kommando, rader som är too long för aktuell visning och som have varit folded ska vara treated som having en single, 1-based, nummer av kolumner.
| | Med antal: |
| | |
| If there är less än count kolumner i which tecken från aktuell rad är displayed på skärm, count ska vara adjusted till vara sista kolumn i which någon portion av rad är displayed på skärm.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If rad är empty, eller markör tecken är samma som tecken på count th kolumn av rad, it ska vara en fel.
| |
| | |
| 2. If markör är före count th kolumn av rad, text område ska vara comprised av aktuell tecken, up till but not including tecken på count th kolumn av rad.
| |
| | |
| 3. If markör är efter count th kolumn av rad, text område ska vara från tecken före starting markör up till och including tecken på count th kolumn av rad.
| |
| | |
| 4. någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Set till the sista kolumn i which någon portion av the tecken that är displayed i the count kolumn av the rad är displayed.
| |
| | |
| Reverse Find tecken
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] ,
| |
| </pre>
| |
| | |
| If sista F , f , T , eller t kommando was F , f , T , eller t , denna kommando ska vara equivalent till en f , F , t , eller T kommando, respectively, med angiven count och samma sökning tecken.
| |
| | |
| If there was no föregående F , f , T , eller t kommando, it ska vara en fel.
| |
| | |
| upprepa
| |
| | |
| Synopsis :
| |
| | |
| [ count ] .
| |
| | |
| <pre>
| |
| upprepa sista ! , < , > , en , C , D , I , J , O , P , R , S , X , Y , en , c , d ,
| |
| </pre>
| |
| | |
| i , o , p , r , s , x , y , eller ~ kommando. It ska vara en fel if none av dessa kommandon have varit executed. kommandon (other än kommandon som enter text inmatning läge) executed som en result av map expansions, ska not ändra värde av sista repeatable kommando.
| |
| | |
| Repeated kommandon med kopplad rörelse kommandon ska upprepa rörelse kommando som well; however, någon angiven count ska ersätt count (s) som were originally angiven till repeated kommando eller its kopplad rörelse kommando.
| |
| | |
| If rörelse component av repeated kommando är f , F , t , eller T , repeated kommando ska not set ihågkommen sökning tecken för ; och , kommandon.
| |
| | |
| If repeated kommando är p eller P , och buffert kopplad med som kommando was en numeric buffert namngiven med en nummer less än 9, buffert kopplad med repeated kommando ska vara set till vara buffert namngiven av name av föregående buffert logically incremented av 1.
| |
| | |
| If the repeated tecken is a text inmatning kommando, the inmatning text kopplad with that kommando is repeated literally:
| |
| | |
| * inmatning tecken är neither macro eller abbreviation-expanded.
| |
| | |
| * inmatning tecken är not interpreted i någon special way med exception som <nyrad>, <carriage-return>, och <kontroll>-T behave som described i inmatning läge kommandon i vi .
| |
| | |
| aktuell rad : Set as described for the repeated kommando.
| |
| | |
| aktuell kolumn : Set as described for the repeated kommando.
| |
| | |
| Find Regular Expression
| |
| | |
| Synopsis :
| |
| | |
| /
| |
| | |
| If inmatning rad contains no non-<nyrad> tecken, it ska vara equivalent till en rad containing endast sista regular expression encountered. enhanced regular expressions supported av vi är described i Regular Expressions i ex .
| |
| | |
| Otherwise, the rad ska be interpreted as one or more regular expressions, optionally followed by an adress offset or a vi
| |
| | |
| z
| |
| | |
| kommando.
| |
| | |
| If regular expression är not sista regular expression på rad, eller if en rad offset eller z kommando är angiven, regular expression ska vara terminated av en unescaped '/'
| |
| | |
| tecken, which ska not vara used som part av regular expression. If regular expression är not första regular expression på rad, it ska vara preceded av zero eller more <blank> tecken, en <semicolon>, zero eller more <blank> tecken, och en leading '/' tecken, which ska not vara interpreted som part av regular expression. It ska vara en fel till precede någon regular expression med någon tecken other än dessa.
| |
| | |
| Each sökning ska begin från tecken efter första tecken av sista matcha (eller, if it är första sökning, efter markör). If wrapscan edit option är set, sökning ska continue till tecken före starting markör tecken; otherwise, till slut av edit buffert. It ska vara en fel if någon sökning fails till find en matcha, och en informations meddelande till denna effect ska vara displayed.
| |
| | |
| An valfri adress offset (see Addressing in ex ) can be angiven after the sista regular expression by including a trailing '/'
| |
| | |
| tecken efter regular expression och specifying adress offset. denna offset kommer att vara från rad containing matcha för sista regular expression angiven. It ska vara en fel if rad offset would indicate en rad adress less än 1 eller greater än sista rad i edit buffert. en adress offset av zero ska vara supported. It ska vara en fel till follow adress offset med någon other tecken än <blank> tecken.
| |
| | |
| If not used som en rörelse kommando, en valfri z kommando (see Redraw
| |
| | |
| fönster ) can vara angiven efter sista regular expression av including en trailing '/' tecken efter regular expression, zero eller more <blank> tecken, en 'z' , zero eller more <blank> tecken, en valfri new fönster edit option värde, zero eller more <blank> tecken, och en location tecken. effect ska vara som if z kommando was executed efter / kommando. It ska vara en fel till follow z kommando med någon other tecken än <blank> tecken.
| |
| | |
| ihågkommen sökning direction ska vara set till forward.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. It ska vara en fel if sista matcha references samma tecken i edit buffert som starting markör.
| |
| | |
| 2. If någon adress offset är angiven, the sista matcha ska vara adjusted av the angiven offset som described previously.
| |
| | |
| 3. If starting markör är efter sista matcha, then locations av starting markör och sista matcha i edit buffert ska vara logically swapped.
| |
| | |
| 4. If någon adress offset är angiven, text område ska consist av alla rader containing tecken från starting markör till sista matcha rad, inclusive, och någon text copied till en buffert ska vara i rad läge.
| |
| | |
| 5. Otherwise, if starting rad är empty eller starting markör är at eller före första non-<blank> non-<nyrad> av starting rad, och sista matcha rad är empty eller sista matcha starts at första tecken av sista matcha rad, text område ska consist av alla rader containing tecken från starting markör till rad före sista matcha rad, inclusive, och någon text copied till en buffert ska vara i rad läge.
| |
| | |
| 6. Otherwise, if sista matcha rad är empty eller sista matcha begins at en tecken at eller före första non-<blank> non-<nyrad> av sista matcha rad, område av text ska vara från aktuell markör till sista non-<nyrad> av rad före sista matcha rad, inclusive, och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| 7. Otherwise, område av text ska vara från aktuell markör (inclusive), till första tecken av sista matcha (exclusive), och någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : If en matcha är found, set till the sista matched rad plus the adress offset, if någon; otherwise, unchanged.
| |
| | |
| aktuell kolumn : Set till sista kolumn på which någon portion av första tecken i sista matched string är displayed, if en matcha är found; otherwise, unchanged.
| |
| | |
| flytta till första tecken i rad
| |
| | |
| Synopsis :
| |
| | |
| 0 (zero)
| |
| | |
| flytta till första tecken på aktuell rad. tecken '0'
| |
| | |
| ska not be interpreted as a kommando if it is immediately preceded by a digit.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If markör tecken är första tecken i rad, it ska vara en fel.
| |
| | |
| 2. text område ska vara från tecken före markör tecken up till och including första tecken i rad.
| |
| | |
| 3. någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : sista kolumn i which någon portion av första tecken i rad är displayed, eller if rad är empty, unchanged.
| |
| | |
| Execute an ex kommando
| |
| | |
| Synopsis :
| |
| | |
| :
| |
| | |
| Execute one or more ex kommandon.
| |
| | |
| If någon portion av skärm other än sista rad av skärm was overwritten av någon ex kommando (except skal ), vi ska visning en meddelande indicating som it är waiting för en inmatning från user, och ska then läs en tecken. denna action kan also vara taken för other, ospecificerad reasons.
| |
| | |
| If nästa tecken entered är en ':' , another ex kommando ska vara accepted och executed. någon other tecken ska cause skärm till vara refreshed och vi ska return till kommando läge.
| |
| | |
| aktuell rad : As angiven for the ex kommando.
| |
| | |
| aktuell kolumn : As angiven for the ex kommando.
| |
| | |
| upprepa Find
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] ;
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the sista F , f , T , or t
| |
| | |
| kommando, med angiven count , och med samma sökning tecken used för sista F , f , T , eller t kommando. If there was no föregående F , f , T , eller t kommando, it ska vara en fel.
| |
| | |
| Shift Left
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] < rörelse
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| If rörelse kommando är < kommando repeated:
| | 3dd ta bort tre rader |
| | 5x ta bort fem tecken |
| </pre> | | </pre> |
|
| |
|
| 1. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| | == KOPIERA TEXT == |
|
| |
|
| 2. text område ska vara från aktuell rad, up till och including nästa count -1 rader.
| | '''y''' ''rörelse'' |
|
| |
|
| Shift någon rad i text område angiven av count och rörelse kommando one shiftwidth (see ex
| | : Kopiera textområdet som anges av rörelsen. |
|
| |
|
| shiftwidth option) toward the start of the rad, as described by the ex
| | Vanliga former: |
| | |
| < kommando. unshifted rader ska vara copied till unnamed buffert i rad läge.
| |
| | |
| aktuell rad : If rörelse was från aktuell markör position toward slut av edit buffert, unchanged. Otherwise, set till första rad i edit buffert som är part av text område angiven av rörelse kommando.
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| Shift Right
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] > rörelse
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| If rörelse kommando är > kommando repeated:
| | yw kopiera ord |
| | y$ kopiera till radslut |
| | yy kopiera aktuell rad |
| | Y kopiera aktuell rad |
| </pre> | | </pre> |
|
| |
|
| 1. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| | Med antal: |
| | |
| 2. text område ska vara från aktuell rad, up till och including nästa count -1 rader.
| |
| | |
| Shift någon rad med tecken i text område angiven av
| |
| | |
| count och rörelse kommando one shiftwidth (see ex
| |
| | |
| shiftwidth
| |
| | |
| option) away from the start of the rad, as described by the ex
| |
|
| |
|
| <pre> | | <pre> |
| >
| | 3yy kopiera tre rader |
| </pre> | | </pre> |
|
| |
|
| kommando. unshifted rader ska vara copied into unnamed buffert i rad läge.
| | == KLISTRA IN TEXT == |
| | |
| aktuell rad : If rörelse was från aktuell markör position toward slut av edit buffert, unchanged. Otherwise, set till första rad i edit buffert som är part av text område angiven av rörelse kommando.
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| Scan Backwards for Regular Expression
| |
|
| |
|
| Synopsis :
| | '''p''' |
|
| |
|
| ?
| | : Klistra in efter markören eller efter aktuell rad, beroende på vilken typ av text som kopierats eller tagits bort. |
|
| |
|
| Scan backwards; ? kommando ska vara equivalent till /
| | '''P''' |
|
| |
|
| kommando (see Find Regular Expression ) med följande exceptions:
| | : Klistra in före markören eller före aktuell rad. |
|
| |
|
| 1. inmatning prompt ska vara en '?' .
| | == ÅNGRA OCH UPPREPA == |
|
| |
|
| 2. Each sökning ska begin från tecken före första tecken av sista matcha (eller, if it är första sökning, tecken före markör tecken).
| | '''u''' |
|
| |
|
| 3. sökning direction ska vara från markör toward början av edit buffert, och wrapscan edit option ska affect whether sökning wraps till slut av edit buffert och continues.
| | : Ångra senaste ändring. |
|
| |
|
| 4. ihågkommen sökning direction ska vara set till backward.
| | '''U''' |
|
| |
|
| Execute
| | : Ångra ändringar på aktuell rad enligt klassiskt '''vi'''-beteende. |
|
| |
|
| Synopsis :
| | '''.''' |
|
| |
|
| @ buffert
| | : Upprepa senaste ändringskommando. |
|
| |
|
| If buffert är angiven som @ , sista buffert executed ska vara used. If no föregående buffert has varit executed, it ska vara en fel.
| | '''&''' |
|
| |
|
| Behave som if contents av namngiven buffert were entered som standard inmatning. efter each rad av en rad-läge buffert, och alla but sista rad av en tecken läge buffert, behave som if en <nyrad> were entered som standard inmatning.
| | : Upprepa senaste substitutionskommando. |
|
| |
|
| If an fel occurs during this process, an fel meddelande ska be skriven, and no more tecken resulting from the execution of this kommando ska be processed.
| | == INDENTERING == |
|
| |
|
| If en count är angiven, behave som if som count were entered som user inmatning före tecken från @ buffert were entered.
| | '''<''' ''rörelse'' |
|
| |
|
| aktuell rad : As angiven for the individual kommandon.
| | : Skjut textområdet åt vänster. |
|
| |
|
| aktuell kolumn : As angiven for the individual kommandon.
| | '''>' ''rörelse'' |
|
| |
|
| Reverse skiftläge
| | : Skjut textområdet åt höger. |
|
| |
|
| Synopsis :
| | Vanliga former: |
|
| |
|
| <pre> | | <pre> |
| [ count ] ~
| | >> skjut aktuell rad åt höger |
| | << skjut aktuell rad åt vänster |
| | >G skjut från aktuell rad till filens slut åt höger |
| </pre> | | </pre> |
|
| |
|
| Reverse skiftläge av aktuell tecken och nästa count -1 tecken, such som lowercase tecken som have uppercase counterparts ska vara ändrad till uppercase tecken, och uppercase tecken som have lowercase counterparts ska vara ändrad till lowercase tecken, som prescribed av aktuell lokal. No other tecken ska vara påverkad av denna kommando.
| | == FILTRERA TEXT GENOM KOMMANDO == |
|
| |
|
| If there är less än count -1 tecken efter markör i edit buffert, count ska vara adjusted till nummer av tecken efter markör i edit buffert minus 1.
| | '''!''' ''rörelse'' ''kommando'' |
|
| |
|
| för purposes av denna kommando, nästa tecken after sista non-<nyrad> på rad ska vara nästa tecken i edit buffert.
| | : Skicka textområdet till ett externt kommando och ersätt området med kommandots utmatning. |
|
| |
|
| aktuell rad : Set till rad including ( count -1)th tecken efter markör.
| | Exempel: |
| | |
| aktuell kolumn : Set till sista kolumn i which någon portion av ( count -1)th tecken efter markör är displayed.
| |
| | |
| lägg till
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] a
| | !!sort |
| | !}fmt |
| </pre> | | </pre> |
|
| |
|
| Enter text inmatning läge efter aktuell markör position. No tecken already i edit buffert ska vara påverkad av denna kommando. en count ska cause inmatning text till vara appended count
| | == MÄRKEN == |
|
| |
|
| -1 more times to the slut of the inmatning.
| | '''m''' ''tecken'' |
|
| |
|
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see | | : Sätt ett märke på aktuell position. |
|
| |
|
| inmatning läge kommandon i vi ).
| | '''\'''' ''tecken'' |
|
| |
|
| lägg till at slut-av-rad
| | : Hoppa till raden där märket finns. |
|
| |
|
| Synopsis :
| | '''`''' ''tecken'' |
|
| |
|
| <pre>
| | : Hoppa till exakt position för märket. |
| [ count ] A
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the vi kommando:
| |
|
| |
|
| <pre>
| | Exempel: |
| $ [ count
| |
| </pre>
| |
|
| |
|
| <pre> | | <pre> |
| ] a
| | ma |
| | 'a |
| | `a |
| </pre> | | </pre> |
|
| |
|
| (see lägg till ).
| | == BUFFERTAR == |
|
| |
|
| flytta Backward till föregående ord
| | Många '''vi'''-kommandon kan använda namngivna buffertar. En buffert anges ofta med dubbelcitat följt av buffertnamn. |
|
| |
|
| Synopsis :
| | Exempel: |
|
| |
|
| <pre> | | <pre> |
| [ count ] b
| | "ayy |
| | "ap |
| </pre> | | </pre> |
|
| |
|
| med exception som ord är used som avgränsare instead av bigwords, denna kommando ska vara equivalent till B kommando.
| | Detta kopierar en rad till buffert '''a''' och klistrar sedan in från buffert '''a'''. |
| | |
| flytta Backward till föregående Bigword
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] B
| |
| </pre>
| |
| | |
| If edit buffert är empty eller markör är på första tecken av edit buffert, it ska vara en fel. If less än
| |
| | |
| count bigwords begin mellan markör och start av edit buffert, count ska vara adjusted till nummer av bigword beginnings mellan markör och start av edit buffert.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska vara från första tecken av
| |
|
| |
|
| count th föregående bigword början up till but not including markör tecken.
| | == KOMMANDON MED ANTAL == |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | Många kommandon kan föregås av ett antal. |
|
| |
|
| If not used som en rörelse kommando:
| | Exempel: |
| | |
| aktuell rad : Set to the rad containing the aktuell kolumn .
| |
| | |
| aktuell kolumn : Set till sista kolumn upon which någon part av första tecken av count th föregående bigword är displayed.
| |
| | |
| ändra
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ buffert ][ count ] c rörelse
| | 5j flytta fem rader nedåt |
| | 3w flytta tre ord framåt |
| | 10x ta bort tio tecken |
| | 4dd ta bort fyra rader |
| | 2yy kopiera två rader |
| </pre> | | </pre> |
|
| |
|
| If rörelse kommando är c kommando repeated:
| | == RÖRELSE SOM ARGUMENT == |
|
| |
|
| 1. buffert text ska vara i rad läge.
| | Flera kommandon använder ett rörelsekommando som argument. Det gäller bland annat: |
| | |
| 2. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| |
| | |
| 3. text område ska vara från aktuell rad up till och including nästa count -1 rader.
| |
| | |
| Otherwise, buffert text läge och text område ska vara som angiven av rörelse kommando.
| |
| | |
| replaced text ska vara copied into buffert , if angiven, och into unnamed buffert. If text till vara replaced contains tecken från more än en single rad, eller buffert text är i rad läge, replaced text ska vara copied into numeric buffertar som well.
| |
| | |
| If buffert text är i rad läge:
| |
| | |
| 1. någon rader som contain tecken i område ska vara borttagen, och redigerare ska enter text inmatning läge at början av en new rad which ska ersätt första rad borttagen.
| |
| | |
| 2. If autoindent edit option är set, autoindent tecken equal till autoindent tecken på första rad borttagen ska vara inserted som if entered av user.
| |
| | |
| Otherwise, if tecken från more än one rad är i område av text:
| |
| | |
| 1. The text ska be borttagen.
| |
| | |
| 2. någon text remaining i sista rad i text område ska vara appended till första rad i område, och sista rad i område ska vara borttagen.
| |
| | |
| 3. redigerare ska enter text inmatning läge efter sista tecken not borttagen från första rad i text område, if någon; otherwise, på första kolumn av första rad i område.
| |
| | |
| Otherwise:
| |
| | |
| 1. If glyph för '$' är smaller än område, slut av område ska vara marked med en '$' .
| |
| | |
| 2. redigerare ska enter text inmatning läge, overwriting område av text.
| |
| | |
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see
| |
| | |
| inmatning läge kommandon i vi ).
| |
| | |
| ändra till slut-av-rad
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ buffert ][ count ] C
| | c |
| | d |
| | y |
| | ! |
| | < |
| | > |
| </pre> | | </pre> |
|
| |
|
| This kommando ska be equivalent to the vi kommando:
| | Exempel: |
|
| |
|
| <pre> | | <pre> |
| [ buffert ][ count ] c$
| | dw ta bort till nästa ord |
| | cw ändra till nästa ord |
| | y$ kopiera till radslut |
| | d} ta bort till nästa stycke |
| | !Gsort sortera från aktuell rad till filens slut |
| </pre> | | </pre> |
|
| |
|
| See the c kommando.
| | == MENINGAR, STYCKEN OCH SEKTIONER == |
| | |
| ta bort
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ buffert ][ count ] d rörelse
| |
| </pre>
| |
| | |
| If rörelse kommando är d kommando repeated:
| |
| | |
| 1. buffert text ska vara i rad läge.
| |
| | |
| 2. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| |
| | |
| 3. text område ska vara från aktuell rad up till och including nästa count -1 rader.
| |
| | |
| Otherwise, buffert text läge och text område ska vara som angiven av rörelse kommando.
| |
| | |
| If i open läge, och aktuell rad är borttagen, och rad remains på visning, en '@' tecken ska vara displayed som första glyph av som rad.
| |
|
| |
|
| ta bort område av text into buffert , if angiven, och into unnamed buffert. If text till vara borttagen contains tecken från more än en single rad, eller buffert text är i rad läge, borttagen text ska vara copied into numeric buffertar, som well.
| | '''(''' |
|
| |
|
| aktuell rad : Set till första text område rad som appears i edit buffert, unless som rad has varit borttagen, i which skiftläge it ska vara set till sista rad i edit buffert, eller rad 1 if edit buffert är empty.
| | : Flytta till början av föregående mening. |
|
| |
|
| aktuell kolumn :
| | ''')''' |
|
| |
|
| 1. If the rad is empty, set to kolumn position 1.
| | : Flytta till början av nästa mening. |
|
| |
|
| 2. Otherwise, if buffert text är i rad läge eller rörelse was från markör toward slut av edit buffert:
| | '''{''' |
|
| |
|
| en. If en tecken from the aktuell rad är displayed i the aktuell kolumn, set till the sista kolumn that displays någon portion av that tecken.
| | : Flytta till början av föregående stycke. |
| | |
| b. Otherwise, set till the sista kolumn i which någon portion av någon tecken i the rad är displayed.
| |
| | |
| 3. Otherwise, if en tecken är displayed i kolumn som began text område, set till sista kolumn som displays någon portion av som tecken.
| |
| | |
| 4. Otherwise, set till the sista kolumn i which någon portion av någon tecken i the rad är displayed.
| |
| | |
| ta bort to slut-of-rad
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ buffert ] D
| |
| </pre>
| |
| | |
| ta bort the text from the aktuell position to the slut of the aktuell rad; equivalent to the vi kommando:
| |
| | |
| <pre>
| |
| [ buffert ] d$
| |
| </pre>
| |
| | |
| flytta to slut-of-ord
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] e
| |
| </pre>
| |
|
| |
|
| med exception som ord är used instead av bigwords som avgränsare, denna kommando ska vara equivalent till E kommando.
| | '''}''' |
|
| |
|
| flytta to slut-of-Bigword
| | : Flytta till början av nästa stycke. |
|
| |
|
| Synopsis :
| | '''[[''' |
|
| |
|
| <pre>
| | : Flytta till föregående sektionsgräns. |
| [ count ] E
| |
| </pre>
| |
|
| |
|
| If the edit buffert is empty it ska be an fel. If less than
| | ''']]''' |
|
| |
|
| count bigwords slut mellan markör och slut av edit buffert, count ska vara adjusted till nummer av bigword endings mellan markör och slut av edit buffert.
| | : Flytta till nästa sektionsgräns. |
|
| |
|
| If used som en rörelse kommando:
| | == EX-KOMMANDON I VI == |
|
| |
|
| 1. text område ska vara från sista tecken av
| | Kolon används för att köra '''ex'''-kommandon. |
|
| |
|
| count th nästa bigword up till och including markör tecken.
| | '''':w''' |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | : Skriv bufferten till fil. |
|
| |
|
| If not used som en rörelse kommando:
| | '''':w''' ''fil'' |
|
| |
|
| aktuell rad : Set to the rad containing the aktuell kolumn.
| | : Skriv bufferten till angiven fil. |
|
| |
|
| aktuell kolumn : Set till sista kolumn upon which någon part av sista tecken av count th nästa bigword är displayed.
| | '''':q''' |
|
| |
|
| Find tecken in aktuell rad (Forward)
| | : Avsluta om inga osparade ändringar finns. |
|
| |
|
| Synopsis :
| | '''':q!''' |
|
| |
|
| <pre>
| | : Avsluta utan att spara. |
| [ count ] f tecken
| |
| </pre>
| |
|
| |
|
| It ska vara en fel if count occurrences av tecken do not occur efter markör i rad.
| | '''':wq''' |
|
| |
|
| If used som en rörelse kommando:
| | : Spara och avsluta. |
|
| |
|
| 1. text range ska vara från markör tecken up till och including count th occurrence av angiven tecken efter markör.
| | '''':x''' |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | : Spara och avsluta. |
|
| |
|
| If not used som en rörelse kommando:
| | '''':e''' ''fil'' |
|
| |
|
| aktuell rad : Unchanged.
| | : Redigera en annan fil. |
|
| |
|
| aktuell kolumn : Set till the sista kolumn i which någon portion av the
| | '''':e!''' |
|
| |
|
| count th occurrence av angiven tecken efter markör appears i rad.
| | : Läs om aktuell fil från disk och kasta osparade ändringar. |
|
| |
|
| Find tecken in aktuell rad (Reverse)
| | '''':r''' ''fil'' |
|
| |
|
| Synopsis :
| | : Läs in en fil efter aktuell rad. |
|
| |
|
| <pre>
| | '''':set''' ''alternativ'' |
| [ count ] F tecken
| |
| </pre>
| |
|
| |
|
| It ska vara en fel if count occurrences av tecken do not occur före markör i rad.
| | : Sätt ett redigeringsalternativ. |
|
| |
|
| If used som en rörelse kommando:
| | '''':set all''' |
|
| |
|
| 1. text område ska vara från count th occurrence av angiven tecken före markör, up till, but not including markör tecken.
| | : Visa alla alternativ. |
|
| |
|
| 2. någon text copied till en buffert ska vara i tecken läge.
| | '''':set number''' |
|
| |
|
| If not used som en rörelse kommando:
| | : Visa radnummer. |
|
| |
|
| aktuell rad : Unchanged.
| | '''':set nonumber''' |
|
| |
|
| aktuell kolumn : Set till the sista kolumn i which någon portion av the
| | : Dölj radnummer. |
|
| |
|
| count th occurrence av angiven tecken före markör appears i rad.
| | == SUBSTITUTION == |
|
| |
|
| flytta to rad
| | Substitution görs med '''ex'''-kommandot '''s'''. |
|
| |
|
| Synopsis :
| | Byt första förekomsten på aktuell rad: |
|
| |
|
| <pre> | | <pre> |
| [ count ] G
| | :s/gammalt/nytt/ |
| </pre> | | </pre> |
|
| |
|
| If count is not angiven, it ska standard to the sista rad of the edit buffert. If count is greater than the sista rad of the edit buffert, it ska be an fel.
| | Byt alla förekomster på aktuell rad: |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska vara från markör rad up till och including angiven rad.
| |
| | |
| 2. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Set to count if count is angiven; otherwise, the sista rad. | |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| flytta till Top av skärm
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] H
| | :s/gammalt/nytt/g |
| </pre> | | </pre> |
|
| |
|
| If början av rad count greater än första rad av which någon portion appears på visning does not exist, it ska vara en fel.
| | Byt alla förekomster i hela filen: |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If i open läge, text område ska vara aktuell rad.
| |
| | |
| 2. Otherwise, text område ska vara från starting rad up till och including ( första rad av visning + count -1).
| |
| | |
| 3. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| If i open läge, denna kommando ska set aktuell kolumn till non-<blank> och do nothing else.
| |
| | |
| Otherwise, it ska set the aktuell rad and aktuell kolumn as follows.
| |
| | |
| aktuell rad : Set till ( första rad av visning + count -1).
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| infoga före markör
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] i
| | :%s/gammalt/nytt/g |
| </pre> | | </pre> |
|
| |
|
| Enter text inmatning läge före aktuell markör position. No tecken already i edit buffert ska vara påverkad av denna kommando. en count ska cause inmatning text till vara appended count
| | Fråga före varje byte: |
| | |
| -1 more times to the slut of the inmatning.
| |
| | |
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see
| |
| | |
| inmatning läge kommandon i vi ).
| |
| | |
| infoga at början av rad
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] I
| | :%s/gammalt/nytt/gc |
| </pre> | | </pre> |
|
| |
|
| denna kommando ska vara equivalent till vi kommando ^[ count ] i .
| | Byt i ett radintervall: |
| | |
| Join
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] J
| | :10,20s/gammalt/nytt/g |
| </pre> | | </pre> |
|
| |
|
| If the aktuell rad is the sista rad in the edit buffert, it ska be an fel.
| | == TAGGAR == |
|
| |
|
| This kommando ska be equivalent to the ex
| | '''Ctrl-]''' |
|
| |
|
| join kommando med no addresses, och en ex kommando count värde av 1 if count was not angiven eller if en count av 1 was angiven, och en ex kommando
| | : Hoppa till taggen under markören. |
|
| |
|
| count värde av count -1 för någon other värde av count , except som aktuell rad och kolumn ska vara set som follows.
| | ''':tag''' ''namn'' |
|
| |
|
| aktuell rad : Unchanged.
| | : Hoppa till angiven tagg. |
|
| |
|
| aktuell kolumn : sista kolumn i which någon portion av tecken följande sista tecken i initial rad är displayed, eller sista non-<nyrad> i rad if no tecken were appended.
| | Taggar används vanligen tillsammans med en taggfil som skapats med '''ctags'''. |
|
| |
|
| flytta till Bottom av skärm
| | == SPARA OCH AVSLUTA == |
|
| |
|
| Synopsis :
| | Spara: |
|
| |
|
| <pre> | | <pre> |
| [ count ] L
| | :w |
| </pre> | | </pre> |
|
| |
|
| If början av rad count less än sista rad av which någon portion appears på visning does not exist, it ska vara en fel.
| | Spara till annat filnamn: |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If i open läge, text område ska vara aktuell rad.
| |
| | |
| 2. Otherwise, text område ska include alla rader från starting markör rad till ( sista rad av visning -( count
| |
| | |
| -1)).
| |
| | |
| 3. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| 1. If i open läge, denna kommando ska set aktuell kolumn till non-<blank> och do nothing else.
| |
| | |
| 2. Otherwise, it ska set the aktuell rad and aktuell kolumn as follows.
| |
| | |
| aktuell rad : Set to (the sista rad of the visning -( count -1)).
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| märke Position
| |
| | |
| Synopsis :
| |
| | |
| m letter
| |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| märke kommando med angiven tecken som en argument.
| |
| | |
| flytta till Middle av skärm
| |
| | |
| Synopsis :
| |
| | |
| M
| |
| | |
| The middle rad of the visning ska be calculated as follows:
| |
| | |
| ( top rad av visning) + (((nummer av rader displayed) +1) /2) -1
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If i open läge, text område ska vara aktuell rad.
| |
| | |
| 2. Otherwise, text område ska include alla rader från starting markör rad up till och including middle rad av visning.
| |
| | |
| 3. någon text copied till en buffert ska vara i rad läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| If i open läge, denna kommando ska set aktuell kolumn till non-<blank> och do nothing else.
| |
| | |
| Otherwise, it ska set the aktuell rad and aktuell kolumn as follows.
| |
| | |
| aktuell rad : Set to the middle rad of the visning.
| |
| | |
| aktuell kolumn : Set to non-<blank>.
| |
| | |
| upprepa Regular Expression Find (Forward)
| |
| | |
| Synopsis :
| |
| | |
| n
| |
| | |
| If ihågkommen sökning direction was forward, n kommando ska vara equivalent till vi
| |
| | |
| / kommando with no tecken entered by the user. Otherwise, it ska be equivalent to the vi
| |
| | |
| ?
| |
| | |
| kommando with no tecken entered by the user.
| |
| | |
| If n kommando är used som en rörelse kommando för ! kommando, redigerare ska not enter text inmatning läge på sista rad på skärm, och ska behave som if user entered en single '!'
| |
| | |
| tecken as the text inmatning.
| |
| | |
| upprepa Regular Expression Find (Reverse)
| |
| | |
| Synopsis :
| |
| | |
| N
| |
| | |
| Scan för nästa matcha av sista mönster given till / eller ? , but i reverse direction; denna är reverse av n .
| |
| | |
| If ihågkommen sökning direction was forward, N kommando ska vara equivalent till vi
| |
| | |
| ? kommando med no tecken entered av user. Otherwise, it ska vara equivalent till vi
| |
| | |
| /
| |
| | |
| kommando med no tecken entered av user. If N kommando är used som en rörelse kommando för ! kommando, redigerare ska not enter text inmatning läge på sista rad på skärm, och ska behave som if user entered en single ! tecken som text inmatning.
| |
| | |
| infoga Empty rad Below
| |
| | |
| Synopsis :
| |
| | |
| o
| |
| | |
| Enter text inmatning läge i en new rad appended efter aktuell rad. en count ska cause inmatning text till vara appended count -1 more times till slut av already added text, each time starting på en new, appended rad.
| |
| | |
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see
| |
| | |
| inmatning läge kommandon i vi ).
| |
| | |
| infoga Empty rad Above
| |
| | |
| Synopsis :
| |
| | |
| O
| |
| | |
| Enter text inmatning läge i en new rad inserted före aktuell rad. en count ska cause inmatning text till vara appended count -1 more times till slut av already added text, each time starting på en new, appended rad.
| |
| | |
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see
| |
| | |
| inmatning läge kommandon i vi ).
| |
| | |
| Put från buffert följande
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ buffert ] p
| | :w nyfil.txt |
| </pre> | | </pre> |
|
| |
|
| If no buffert is angiven, the unnamed buffert ska be used.
| | Avsluta: |
| | |
| If buffert text är i rad läge, text ska vara appended below aktuell rad, och each rad av buffert ska become en new rad i edit buffert. en count ska cause buffert text till vara appended count -1 more times till slut av already added text, each time starting på en new, appended rad.
| |
| | |
| If buffert text är i tecken läge, text ska vara appended into aktuell rad efter markör, och each rad av buffert other än första och sista ska become en new rad i edit buffert. en count ska cause buffert text till vara appended count -1 more times till slut av already added text, each time starting efter sista added tecken.
| |
| | |
| aktuell rad : If buffert text är i rad läge, set rad till rad +1; otherwise, unchanged.
| |
| | |
| aktuell kolumn : If buffert text är i rad läge:
| |
| | |
| 1. If there är en non-<blank> i första rad av buffert, set till sista kolumn på which någon portion av första non-<blank> i rad är displayed.
| |
| | |
| 2. If there är no non-<blank> i första rad av buffert, set till sista kolumn på which någon portion av sista non-<nyrad> i första rad av buffert är displayed.
| |
| | |
| If buffert text är i tecken läge:
| |
| | |
| 1. If text i buffert är från more än en single rad, then set till sista kolumn på which någon portion av första tecken från buffert är displayed.
| |
| | |
| 2. Otherwise, if the buffert är the unnamed buffert, set till the sista kolumn på which någon portion av the sista tecken from the buffert är displayed.
| |
| | |
| 3. Otherwise, set till första kolumn på which någon portion av första tecken från buffert är displayed.
| |
| | |
| Put from buffert Before
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ buffert ] P
| |
| </pre>
| |
| | |
| If no buffert is angiven, the unnamed buffert ska be used.
| |
| | |
| If buffert text är i rad läge, text ska vara inserted above aktuell rad, och each rad av buffert ska become en new rad i edit buffert. en count ska cause buffert text till vara appended count -1 more times till slut av already added text, each time starting på en new, appended rad.
| |
| | |
| If buffert text är i tecken läge, text ska vara inserted into aktuell rad före markör, och each rad av buffert other än första och sista ska become en new rad i edit buffert. en count ska cause buffert text till vara appended count -1 more times till slut av already added text, each time starting efter sista added tecken.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : If buffert text är i rad läge:
| |
| | |
| 1. If there är en non-<blank> i första rad av buffert, set till sista kolumn på which någon portion av som tecken är displayed.
| |
| | |
| 2. If there är no non-<blank> i första rad av buffert, set till sista kolumn på which någon portion av sista non-<nyrad> i första rad av buffert är displayed.
| |
| | |
| If buffert text är i tecken läge:
| |
| | |
| 1. If text i buffert är från more än en single rad, then set till sista kolumn på which någon portion av första tecken från buffert är displayed.
| |
| | |
| 2. Otherwise, if the buffert är the unnamed buffert, set till the sista kolumn på which någon portion av the sista tecken from the buffert är displayed.
| |
| | |
| 3. Otherwise, set till första kolumn på which någon portion av första tecken från buffert är displayed.
| |
| | |
| Enter ex läge
| |
| | |
| Synopsis :
| |
| | |
| Q
| |
| | |
| Leave visuellt eller open läge och enter ex kommando läge.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Unchanged.
| |
| | |
| ersätt tecken
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] r tecken
| |
| </pre>
| |
| | |
| ersätt count tecken at och efter markör med angiven tecken. If there är less än count non-<nyrad> tecken at och efter markör på rad, it ska vara en fel.
| |
| | |
| If tecken är <kontroll>-V, någon nästa tecken other än <nyrad> ska vara stripped av någon special meaning och used som en literal tecken.
| |
| | |
| If tecken is <ESC>, no replacement ska be made and the aktuell rad and aktuell kolumn ska be unchanged.
| |
| | |
| If tecken är <carriage-return> eller <nyrad>, count new rader ska vara appended till aktuell rad. alla but sista av dessa rader ska vara empty. count tecken at och efter markör ska vara discarded, och någon remaining tecken efter markör i aktuell rad ska vara moved till sista av new rader. If autoindent edit option är set, they ska vara preceded av samma nummer av autoindent tecken found på rad från which kommando was executed.
| |
| | |
| aktuell rad : Unchanged unless replacement tecken är en <carriage-return> eller <nyrad>, i which skiftläge it ska vara set till rad + count .
| |
| | |
| aktuell kolumn : Set till sista kolumn position på which en portion av sista replaced tecken är displayed, eller if replacement tecken caused new rader till vara created, set till non-<blank>.
| |
| | |
| ersätt tecken
| |
| | |
| Synopsis :
| |
| | |
| R
| |
| | |
| Enter text inmatning läge at aktuell markör position possibly replacing text på aktuell rad. en count ska cause inmatning text till vara appended count -1 more times till slut av inmatning.
| |
| | |
| aktuell rad/kolumn : As angiven for the text inmatning kommandon (see
| |
| | |
| inmatning läge kommandon i vi ).
| |
| | |
| Substitute tecken
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ buffert ][ count ] s
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the vi kommando:
| |
| | |
| <pre>
| |
| [ buffert ][ count ] c<mellanslag>
| |
| </pre>
| |
| | |
| Substitute rader
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ buffert ][ count ] S
| |
| </pre>
| |
| | |
| This kommando ska be equivalent to the vi kommando:
| |
| | |
| <pre>
| |
| [ buffert ][ count ] c_
| |
| </pre>
| |
| | |
| flytta markör till före tecken (Forward)
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] t tecken
| |
| </pre>
| |
| | |
| It ska vara en fel if count occurrences av tecken do not occur efter markör i rad.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. text område ska vara från markör up till but not including count th occurrence av angiven tecken efter markör.
| |
| | |
| 2. någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Set till sista kolumn i which någon portion av tecken före count th occurrence av angiven tecken efter markör appears i rad.
| |
| | |
| flytta markör till efter tecken (Reverse)
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| [ count ] T tecken
| |
| </pre>
| |
| | |
| It ska vara en fel if count occurrences av tecken do not occur före markör i rad.
| |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If tecken före markör är angiven tecken, it ska vara en fel.
| |
| | |
| 2. text område ska vara från tecken före markör up till but not including count th occurrence av angiven tecken före markör.
| |
| | |
| 3. någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Set till sista kolumn i which någon portion av tecken efter count th occurrence av angiven tecken före markör appears i rad.
| |
| | |
| Undo
| |
| | |
| Synopsis :
| |
| | |
| u
| |
| | |
| This kommando ska be equivalent to the ex
| |
| | |
| undo kommando except that the aktuell rad and aktuell kolumn ska be set as follows:
| |
| | |
| aktuell rad : Set till första rad added eller ändrad if någon; otherwise, flytta till rad föregående någon borttagen text if one exists; otherwise, flytta till rad 1.
| |
| | |
| aktuell kolumn : If undoing en ex kommando, set till första non-<blank>.
| |
| | |
| Otherwise, if undoing a text inmatning kommando:
| |
| | |
| 1. If kommando was en C , c , O , o , R , S , eller s kommando, aktuell kolumn ska vara set till värde it held när text inmatning kommando was entered.
| |
| | |
| 2. Otherwise, set till sista kolumn i which någon portion av första tecken efter borttagen text är displayed, eller, if no non-<nyrad> tecken follow text borttagen från denna rad, set till sista kolumn i which någon portion av sista non-<nyrad> i rad är displayed, eller 1 if rad är empty.
| |
| | |
| Otherwise, if a single rad was modified (that is, not added or borttagen) by the u kommando:
| |
| | |
| 1. If text was added eller ändrad, set till sista kolumn i which någon portion av första tecken added eller ändrad är displayed.
| |
| | |
| 2. If text was borttagen, set till sista kolumn i which någon portion av första tecken efter borttagen text är displayed, eller, if no non-<nyrad> tecken follow borttagen text, set till sista kolumn i which någon portion av sista non-<nyrad> i rad är displayed, eller 1 if rad är empty.
| |
| | |
| Otherwise, set to non-<blank>.
| |
| | |
| Undo aktuell rad
| |
| | |
| Synopsis :
| |
| | |
| U
| |
| | |
| Restore aktuell rad till its tillstånd immediately before most recent time som it became aktuell rad.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Set till första kolumn i rad i which någon portion av första tecken i rad är displayed.
| |
| | |
| flytta till början av ord
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] w
| | :q |
| </pre> | | </pre> |
|
| |
|
| med exception som ord är used som avgränsare instead av bigwords, denna kommando ska vara equivalent till W kommando.
| | Avsluta utan att spara: |
| | |
| flytta till början av Bigword
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ count ] W
| | :q! |
| </pre> | | </pre> |
|
| |
|
| If edit buffert är empty, it ska vara en fel. If there är less än count bigwords mellan markör och slut av edit buffert, count ska vara adjusted till flytta markör till sista bigword i edit buffert.
| | Spara och avsluta: |
| | |
| If used som en rörelse kommando:
| |
| | |
| 1. If kopplad kommando är c , count är 1, och markör är på en <blank>, område av text ska vara aktuell tecken och no further action ska vara taken.
| |
| | |
| 2. If there är less än count bigwords mellan markör och slut av edit buffert, then kommando ska succeed, och område av text ska include sista tecken av edit buffert.
| |
| | |
| 3. If there är <blank> tecken eller en slut-av-rad som precede count th bigword, och kopplad kommando är c , område av text ska vara up till och including sista tecken före föregående <blank> tecken eller slut-av-rad.
| |
| | |
| 4. If there är <blank> tecken eller en slut-av-rad som precede bigword, och kopplad kommando är d eller y , område av text ska vara up till och including sista <blank> före start av bigword eller slut-av-rad.
| |
| | |
| 5. någon text copied till en buffert ska vara i tecken läge.
| |
| | |
| If not used som en rörelse kommando:
| |
| | |
| 1. If markör är på sista tecken av edit buffert, it ska vara en fel.
| |
| | |
| aktuell rad : Set to the rad containing the aktuell kolumn.
| |
| | |
| aktuell kolumn : Set till sista kolumn i which någon part av första tecken av count th nästa bigword är displayed.
| |
| | |
| ta bort tecken at markör
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ buffert ][ count ] x
| | :wq |
| </pre> | | </pre> |
|
| |
|
| ta bort the count tecken at and after the aktuell tecken into buffert , if angiven, and into the unnamed buffert.
| | Klassiskt kortkommando för spara och avsluta: |
| | |
| If the rad is empty, it ska be an fel. If there are less than
| |
| | |
| count non-<nyrad> tecken at och efter markör på aktuell rad, count ska vara adjusted till nummer av non-<nyrad> tecken at och efter markör.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : If rad är empty, set till kolumn position 1. Otherwise, if there were count eller less non-<nyrad> tecken at och efter markör på aktuell rad, set till sista kolumn som displays någon part av sista non-<nyrad> av rad. Otherwise, unchanged.
| |
| | |
| ta bort tecken före markör
| |
| | |
| Synopsis :
| |
|
| |
|
| <pre> | | <pre> |
| [ buffert ][ count ] X
| |
| </pre>
| |
|
| |
| ta bort the count tecken before the aktuell tecken into
| |
|
| |
| buffert , if angiven, and into the unnamed buffert.
| |
|
| |
| If there are no tecken before the aktuell tecken on the aktuell rad, it ska be an fel. If there are less than count
| |
|
| |
| föregående tecken på aktuell rad, count ska vara adjusted till nummer av föregående tecken på rad.
| |
|
| |
| aktuell rad : Unchanged.
| |
|
| |
| aktuell kolumn : Set to (aktuell kolumn - the width of the borttagen tecken).
| |
|
| |
| Yank
| |
|
| |
| Synopsis :
| |
|
| |
| <pre>
| |
| [ buffert ][ count ] y rörelse
| |
| </pre>
| |
|
| |
| kopiera (yank) område av text into buffert , if angiven, och into unnamed buffert.
| |
|
| |
| If rörelse kommando är y kommando repeated:
| |
|
| |
| 1. buffert ska vara i rad läge.
| |
|
| |
| 2. If there are less than count -1 rader after the aktuell rad in the edit buffert, it ska be an fel.
| |
|
| |
| 3. text område ska vara från aktuell rad up till och including nästa count -1 rader.
| |
|
| |
| Otherwise, buffert text läge och text område ska vara som angiven av rörelse kommando.
| |
|
| |
| aktuell rad : If rörelse was från aktuell markör position toward slut av edit buffert, unchanged. Otherwise, set till första rad i edit buffert som är part av text område angiven av rörelse kommando.
| |
|
| |
| aktuell kolumn :
| |
|
| |
| 1. If rörelse was från aktuell markör position toward slut av edit buffert, unchanged.
| |
|
| |
| 2. Otherwise, if the aktuell rad is empty, set to kolumn position 1.
| |
|
| |
| 3. Otherwise, set till sista kolumn som displays någon part av första tecken i fil som är part av text område angiven av rörelse kommando.
| |
|
| |
| Yank aktuell rad
| |
|
| |
| Synopsis :
| |
|
| |
| <pre>
| |
| [ buffert ][ count ] Y
| |
| </pre>
| |
|
| |
| This kommando ska be equivalent to the vi kommando:
| |
|
| |
| <pre>
| |
| [ buffert ][ count ] y_
| |
| </pre>
| |
|
| |
| Redraw fönster
| |
|
| |
| If i open läge, z kommando ska have Synopsis:
| |
|
| |
| Synopsis :
| |
|
| |
| <pre>
| |
| [ count ] z
| |
| </pre>
| |
|
| |
| If count är not angiven, it ska standard till fönster edit option -1. z kommando ska vara equivalent till ex
| |
|
| |
| z kommando, med en type tecken av = och en count av count -2, except som aktuell rad och aktuell kolumn ska vara set som follows, och fönster edit option ska not vara påverkad. If calculation för count argument would result i en negative nummer,
| |
|
| |
| count argument to the ex
| |
|
| |
| z kommando ska be zero. A blank rad ska be skriven after the sista rad is skriven.
| |
|
| |
| aktuell rad : Unchanged.
| |
|
| |
| aktuell kolumn : Unchanged.
| |
|
| |
| If not i open läge, z kommando ska have följande Synopsis:
| |
|
| |
| Synopsis :
| |
|
| |
| <pre>
| |
| [ rad ] z [ count ] tecken
| |
| </pre>
| |
|
| |
| If rad is not angiven, it ska standard to the aktuell rad. If
| |
|
| |
| rad is angiven, but is greater than the nummer of rader in the edit buffert, it ska standard to the nummer of rader in the edit buffert.
| |
|
| |
| If count är angiven, värde av fönster edit option ska vara set till count (som described i ex
| |
|
| |
| fönster kommando), och skärm ska vara redrawn.
| |
|
| |
| rad ska vara placed som angiven av följande tecken:
| |
|
| |
| <nyrad>, <carriage-return> Place början av rad på första rad av visning.
| |
|
| |
| . Place början av rad i center av visning. middle rad av visning ska vara calculated som described för M kommando.
| |
|
| |
| - Place an ospecificerad portion of the rad on the sista rad of the visning.
| |
|
| |
| <pre>
| |
| + If rad was angiven, equivalent till <nyrad> skiftläge. If
| |
| </pre>
| |
|
| |
| rad was not angiven, visning en skärm där första rad av visning ska vara (aktuell sista rad) +1. If there är no rader efter sista rad i visning, it ska vara en fel.
| |
|
| |
| ^ If rad was angiven, visning en skärm där sista rad av visning ska contain en ospecificerad portion av första rad av en visning som had en ospecificerad portion av angiven rad på sista rad av visning. If denna calculation results i en rad före början av edit buffert, visning första skärm av edit buffert.
| |
|
| |
| Otherwise, visning en skärm där sista rad av visning ska contain en ospecificerad portion av (aktuell första rad -1). If denna calculation results i en rad före början av edit buffert, it ska vara en fel.
| |
|
| |
| aktuell rad : If rad och '^' tecken were angiven:
| |
|
| |
| 1. If första skärm was displayed som en result av kommando attempting till visning rader före början av edit buffert: if första skärm was already displayed, unchanged; otherwise, set till (aktuell första rad -1).
| |
|
| |
| 2. Otherwise, set to the sista rad of the visning.
| |
|
| |
| If rad och '+' tecken were angiven, set till första rad av visning.
| |
|
| |
| Otherwise, if rad was angiven, set to rad .
| |
|
| |
| Otherwise, unchanged.
| |
|
| |
| aktuell kolumn : Set to non-<blank>.
| |
|
| |
| Exit
| |
|
| |
| Synopsis :
| |
|
| |
| ZZ | | ZZ |
|
| |
| This kommando ska be equivalent to the ex
| |
|
| |
| xit kommando med no addresses, trailing ! , eller filename (see ex
| |
|
| |
| xit kommando).
| |
|
| |
| '''Kommandon för inmatningsläge i vi'''
| |
|
| |
| i text inmatning läge, aktuell rad ska consist av zero eller more av följande categories, plus terminating <nyrad>:
| |
|
| |
| 1. tecken föregående text inmatning entry point
| |
|
| |
| tecken i denna category ska not vara modified during text inmatning läge.
| |
|
| |
| 2. autoindent tecken
| |
|
| |
| autoindent tecken ska vara automatically inserted into each rad som är created i text inmatning läge, either som en result av entering en <nyrad> eller <carriage-return> medan i text inmatning läge, eller som en effect av kommando itself; för example, O eller o (see ex
| |
|
| |
| autoindent kommando), as if entered by the user.
| |
|
| |
| It ska vara possible till erase autoindent tecken med <kontroll>-D kommando; it är ospecificerad whether they can vara erased av <kontroll>-H, <kontroll>-U, och <kontroll>-W tecken. Erasing någon autoindent tecken turns glyph into erase-kolumner och deletes tecken från edit buffert, but does not ändra its representation på skärm.
| |
|
| |
| 3. text inmatning tecken
| |
|
| |
| text inmatning tecken är tecken entered av user. Erasing någon text inmatning tecken turns glyph into erase- kolumner och deletes tecken från edit buffert, but does not ändra its representation på skärm.
| |
|
| |
| Each text inmatning tecken entered by the user (that does not have a special meaning) ska be treated as follows:
| |
|
| |
| en. text inmatning tecken ska vara appended till sista tecken i edit buffert från första, second, eller third categories.
| |
|
| |
| b. If there är no erase-kolumner på skärm, text inmatning kommando was R kommando, och tecken i fifth category från original rad follow markör, nästa such tecken ska vara borttagen från edit buffert. If slowopen edit option är not set, corresponding glyph på skärm ska become erase- kolumner.
| |
|
| |
| c. If there är erase-kolumner på skärm, som many kolumner som they occupy, eller som är necessary, ska vara overwritten till visning text inmatning tecken. (If endast part av en multi-kolumn glyph är overwritten, remainder ska vara left på skärm, och continue till vara treated som erase- kolumner; it är ospecificerad whether remainder av glyph är modified i någon way.)
| |
|
| |
| d. If additional visning rad kolumner are needed to visning the text inmatning tecken:
| |
|
| |
| i. If slowopen edit option är set, text inmatning tecken ska vara displayed på subsequent visning rad kolumner, overwriting någon tecken displayed i de kolumner.
| |
|
| |
| ii. Otherwise, någon tecken currently displayed på eller efter kolumn på visning rad där text inmatning tecken är till vara displayed ska vara pushed ahead nummer av visning rad kolumner necessary till visning rest av text inmatning tecken.
| |
|
| |
| 4. Erase-kolumner
| |
|
| |
| Erase-kolumner är not logically part av edit buffert, appearing endast på skärm, och kan vara overwritten på skärm av subsequent text inmatning tecken. när text inmatning läge ends, alla erase-kolumner ska no longer appear på skärm.
| |
|
| |
| Erase-kolumner är initially område av text angiven av c kommando (see ändra ); however, erasing autoindent eller text inmatning tecken causes glyphs av erased tecken till vara treated som erase-kolumner.
| |
|
| |
| 5. tecken följande text område för c kommando, eller text inmatning entry point för alla other kommandon
| |
|
| |
| tecken i denna category ska not vara modified during text inmatning läge, except som angiven i category 3.b. för R
| |
|
| |
| text inmatning kommando, or as <blank> tecken borttagen when a <nyrad> or <carriage-return> is entered.
| |
|
| |
| It är ospecificerad whether it är en fel till attempt till erase past början av en rad som was created av entry av en <nyrad> eller <carriage-return> during text inmatning läge. If it är not en fel, redigerare ska behave som if erasing tecken was entered immediately efter sista text inmatning tecken entered på föregående rad, och alla av non-<nyrad> tecken på aktuell rad ska vara treated som erase-kolumner.
| |
|
| |
| när text inmatning läge är entered, eller efter en text inmatning läge tecken är entered (except som angiven för special tecken below), markör ska vara positioned som follows:
| |
|
| |
| 1. på första kolumn som displays någon part av första erase- kolumn, if one exists
| |
|
| |
| 2. Otherwise, if slowopen edit option är set, på första visning rad kolumn efter sista tecken i första, second, eller third categories, if one exists
| |
|
| |
| 3. Otherwise, första kolumn som displays någon part av första tecken i fifth category, if one exists
| |
|
| |
| 4. Otherwise, visning rad kolumn efter sista tecken i första, second, eller third categories, if one exists
| |
|
| |
| 5. Otherwise, on kolumn position 1
| |
|
| |
| tecken som är updated på skärm during text inmatning läge är ospecificerad, other än som sista text inmatning tecken ska always vara updated, och, if slowopen edit option är not set, aktuell markör tecken ska always vara updated.
| |
|
| |
| följande specifications är för kommando tecken entered during text inmatning läge.
| |
|
| |
| NUL
| |
|
| |
| Synopsis :
| |
|
| |
| NUL
| |
|
| |
| If första tecken av text inmatning är en NUL, most recently inmatning text ska vara inmatning som if entered av user, och then text inmatning läge ska vara exited. text ska vara inmatning literally; som är, tecken är neither macro eller abbreviation expanded, nor är någon tecken interpreted i någon special manner. It är ospecificerad whether implementationer ska support more än 256 bytes av ihågkommen inmatning text.
| |
|
| |
| <pre>
| |
| <kontroll>-D
| |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | == SKAL-KOMMANDON == |
| | |
| <pre>
| |
| <kontroll>-D
| |
| </pre>
| |
| | |
| <kontroll>-D tecken ska have no special meaning när i text inmatning läge för en rad-oriented kommando (see kommando
| |
| | |
| Descriptions in vi ).
| |
| | |
| denna kommando need not vara supported på block-läge terminals.
| |
| | |
| If markör does not follow en autoindent tecken, eller en
| |
| | |
| autoindent tecken och en '0' eller '^' tecken:
| |
| | |
| 1. If markör är i kolumn position 1, <kontroll>-D tecken ska vara discarded och no further action taken.
| |
| | |
| 2. Otherwise, the <kontroll>-D tecken ska have no special meaning.
| |
| | |
| If sista inmatning tecken was en '0' , markör ska vara moved till kolumn position 1.
| |
| | |
| Otherwise, if sista inmatning tecken was en '^' , markör ska vara moved till kolumn position 1. i addition, autoindent level för nästa inmatning rad ska vara derived från samma rad från which autoindent level för aktuell inmatning rad was derived.
| |
| | |
| Otherwise, markör ska vara moved back till kolumn efter föregående shiftwidth (see ex
| |
| | |
| shiftwidth kommando) boundary.
| |
| | |
| alla av glyphs på kolumner mellan starting markör position och (inclusively) ending markör position ska become erase- kolumner som described i inmatning läge kommandon i vi .
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| <pre>
| |
| aktuell kolumn : Set till 1 if <kontroll>-D was preceded av en '^'
| |
| </pre>
| |
| | |
| eller '0' ; otherwise, set till (kolumn -1) -((kolumn -2) % shiftwidth ).
| |
| | |
| <pre>
| |
| <kontroll>-H
| |
| </pre>
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| <kontroll>-H
| |
| </pre>
| |
| | |
| If i text inmatning läge för en rad-oriented kommando, och there är no tecken till erase, text inmatning läge ska vara terminated, no further action ska vara done för denna kommando, och aktuell rad och kolumn ska vara unchanged.
| |
| | |
| If there är tecken other än autoindent tecken som have varit inmatning på aktuell rad före markör, markör ska flytta back one tecken.
| |
| | |
| Otherwise, if there är autoindent tecken på aktuell rad före markör, it är implementation-defined whether <kontroll>-H kommando är en fel eller if markör moves back one
| |
|
| |
|
| autoindent tecken.
| | ''':!''' ''kommando'' |
|
| |
|
| Otherwise, if markör är i kolumn position 1 och there är föregående rader som have varit inmatning, it är implementation-defined whether <kontroll>-H kommando är en fel eller if it är equivalent till entering <kontroll>-H efter sista inmatning tecken på föregående inmatning rad.
| | : Kör ett skalkommando. |
|
| |
|
| Otherwise, it ska be an fel.
| | Exempel: |
| | |
| alla av glyphs på kolumner mellan starting markör position och (inclusively) ending markör position ska become erase- kolumner som described i inmatning läge kommandon i vi .
| |
| | |
| aktuell erase tecken (see stty ) ska cause en equivalent action till <kontroll>-H kommando, unless previously inserted tecken was en <backslash>, i which skiftläge it ska vara som if literal aktuell erase tecken had varit inserted instead av <backslash>.
| |
| | |
| aktuell rad : Unchanged, unless previously inmatning rader är erased, i which skiftläge it ska vara set till rad -1.
| |
| | |
| aktuell kolumn : Set till första kolumn som displays någon portion av tecken backed up over.
| |
|
| |
|
| <pre> | | <pre> |
| <nyrad>
| | :!ls |
| | :!date |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | ''':sh''' |
|
| |
|
| <pre>
| | : Starta ett skal. Återgå till redigeraren genom att avsluta skalet. |
| <nyrad> <carriage-return> <kontroll>-J <kontroll>-M
| |
| </pre>
| |
| | |
| If inmatning was part av en rad-oriented kommando, text inmatning läge ska vara terminated och kommando ska continue execution med inmatning provided.
| |
|
| |
|
| Otherwise, terminate aktuell rad. If there är no tecken other än autoindent tecken på rad, alla tecken på rad ska vara discarded. Otherwise, it är ospecificerad whether autoindent tecken i rad är modified av entering dessa tecken.
| | == REDIGERINGSALTERNATIV == |
|
| |
|
| Continue text inmatning läge på en new rad appended efter aktuell rad. If slowopen edit option är set, rader på skärm below aktuell rad ska not vara pushed down, but första av them ska vara cleared och ska appear till vara overwritten. Otherwise, rader av skärm below aktuell rad ska vara pushed down.
| | Vanliga alternativ i '''vi''' eller '''ex''': |
|
| |
|
| If the autoindent edit option is set, an appropriate nummer of
| | '''number''' |
|
| |
|
| autoindent tecken ska be added as a prefix to the rad as described by the ex
| | : Visa radnummer. |
|
| |
|
| autoindent edit option.
| | '''nonumber''' |
|
| |
|
| alla kolumner efter markör som är erase-kolumner (som described i inmatning läge kommandon i vi ) ska vara discarded.
| | : Dölj radnummer. |
|
| |
|
| If autoindent edit option är set, alla <blank> tecken immediately följande markör ska vara discarded.
| | '''readonly''' |
|
| |
|
| alla remaining tecken efter markör ska vara transferred till new rad, positioned efter någon autoindent tecken.
| | : Ange att filen är skrivskyddad. |
|
| |
|
| aktuell rad : Set till aktuell rad +1.
| | '''ignorecase''' |
| | |
| aktuell kolumn : Set till första kolumn som displays någon portion av första tecken efter autoindent tecken på new rad, if någon, eller första kolumn position efter sista
| |
| | |
| autoindent tecken, if någon, eller kolumn position 1.
| |
| | |
| <pre>
| |
| <kontroll>-T
| |
| </pre>
| |
| | |
| Synopsis :
| |
| | |
| <pre>
| |
| <kontroll>-T
| |
| </pre>
| |
|
| |
|
| <kontroll>-T tecken ska have no special meaning när i text inmatning läge för en rad-oriented kommando (see kommando
| | : Gör sökning okänslig för versaler och gemener. |
|
| |
|
| Descriptions in vi ).
| | '''noignorecase''' |
|
| |
|
| denna kommando need not vara supported på block-läge terminals.
| | : Gör sökning känslig för versaler och gemener. |
|
| |
|
| Behave som if user entered minimum nummer av <blank> tecken necessary till flytta markör forward till kolumn position efter nästa shiftwidth (see ex
| | '''autoindent''' |
|
| |
|
| shiftwidth kommando) boundary.
| | : Behåll indrag vid ny rad. |
|
| |
|
| aktuell rad : Unchanged.
| | '''noautoindent''' |
|
| |
|
| aktuell kolumn : Set till kolumn + shiftwidth - ((kolumn -1) %
| | : Stäng av automatisk indragning. |
|
| |
|
| shiftwidth ).
| | Exempel: |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-U
| | :set number |
| | :set nonumber |
| | :set ignorecase |
| | :set noignorecase |
| | :set autoindent |
| | :set noautoindent |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | == FEL OCH DIAGNOSTIK == |
|
| |
|
| <pre>
| | Om ett kommando inte kan utföras ska '''vi''' normalt ge en signal till användaren, ofta genom ett ljud, en visuell signal eller ett felmeddelande på kommandoraden. |
| <kontroll>-U
| |
| </pre>
| |
|
| |
|
| If there är tecken other än autoindent tecken som have varit inmatning på aktuell rad före markör, markör ska flytta till första tecken inmatning efter autoindent tecken.
| | Exempel på fel: |
|
| |
|
| Otherwise, if there är autoindent tecken på aktuell rad före markör, it är implementation-defined whether <kontroll>-U kommando är en fel eller if markör moves till första kolumn position på rad.
| | * försök att avsluta utan att spara ändringar |
| | * försök att skriva till en fil utan behörighet |
| | * okänd kommandoform |
| | * sökmönster som inte hittas |
| | * rörelse förbi filens början eller slut |
|
| |
|
| Otherwise, if markör är i kolumn position 1 och there är föregående rader som have varit inmatning, it är implementation-defined whether <kontroll>-U kommando är en fel eller if it är equivalent till entering <kontroll>-U efter sista inmatning tecken på föregående inmatning rad.
| | == AVSLUTNINGSSTATUS == |
|
| |
|
| Otherwise, it ska be an fel.
| | POSIX anger normalt att verktyg returnerar 0 när de slutförts utan fel och ett värde större än 0 när ett fel inträffat. För interaktiva redigerare kan exakt beteende bero på implementationen. |
|
| |
|
| alla av glyphs på kolumner mellan starting markör position och (inclusively) ending markör position ska become erase- kolumner som described i inmatning läge kommandon i vi .
| | == PRAKTISK SNABBREFERENS == |
|
| |
|
| aktuell kill tecken (see stty ) ska cause en equivalent action till <kontroll>-U kommando, unless previously inserted tecken was en <backslash>, i which skiftläge it ska vara som if literal aktuell kill tecken had varit inserted instead av <backslash>.
| | {| class="wikitable" |
| | ! Kommando !! Betydelse |
| | |- |
| | | '''i''' || Börja infoga text före markören |
| | |- |
| | | '''a''' || Börja infoga text efter markören |
| | |- |
| | | '''Esc''' || Återgå till kommandoläge |
| | |- |
| | | '''h''' || Flytta vänster |
| | |- |
| | | '''j''' || Flytta ned |
| | |- |
| | | '''k''' || Flytta upp |
| | |- |
| | | '''l''' || Flytta höger |
| | |- |
| | | '''0''' || Gå till radens början |
| | |- |
| | | '''$''' || Gå till radens slut |
| | |- |
| | | '''w''' || Nästa ord |
| | |- |
| | | '''b''' || Föregående ord |
| | |- |
| | | '''x''' || Ta bort tecken |
| | |- |
| | | '''dd''' || Ta bort rad |
| | |- |
| | | '''yy''' || Kopiera rad |
| | |- |
| | | '''p''' || Klistra in efter |
| | |- |
| | | '''P''' || Klistra in före |
| | |- |
| | | '''u''' || Ångra |
| | |- |
| | | '''.''' || Upprepa senaste ändring |
| | |- |
| | | '''/text''' || Sök framåt |
| | |- |
| | | '''?text''' || Sök bakåt |
| | |- |
| | | '''n''' || Upprepa sökning |
| | |- |
| | | '''N''' || Upprepa sökning åt andra hållet |
| | |- |
| | | ''':w''' || Spara |
| | |- |
| | | ''':q''' || Avsluta |
| | |- |
| | | ''':q!''' || Avsluta utan att spara |
| | |- |
| | | ''':wq''' || Spara och avsluta |
| | |- |
| | | '''ZZ''' || Spara och avsluta |
| | |} |
|
| |
|
| aktuell rad : Unchanged, unless previously inmatning rader är erased, i which skiftläge it ska vara set till rad -1.
| | == EXEMPEL == |
|
| |
|
| aktuell kolumn : Set till första kolumn som displays någon portion av sista tecken backed up over.
| | Öppna en fil: |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-V
| | vi fil.txt |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | Öppna en fil skrivskyddat: |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-V <kontroll>-Q
| | vi -R fil.txt |
| </pre> | | </pre> |
|
| |
|
| Allow entry av någon subsequent tecken, other än <kontroll>-J eller <nyrad>, som en literal tecken, removing någon special meaning som it kan have till redigerare i text inmatning läge. If en <kontroll>-V eller <kontroll>-Q är entered före en <kontroll>-J eller <nyrad>, <kontroll>-V eller <kontroll>-Q tecken ska vara discarded, och <kontroll>-J eller <nyrad> ska behave som described i <nyrad> kommando tecken during inmatning läge.
| | Starta med radnummer aktiverade: |
| | |
| For purposes of the visning endast, the redigerare ska behave as if a
| |
| | |
| '^' tecken was entered, och markör ska vara positioned som if overwriting '^' tecken. när en subsequent tecken är entered, redigerare ska behave som if som tecken was entered instead av original <kontroll>-V eller <kontroll>-Q tecken.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn : Unchanged.
| |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-W
| | vi -c 'set number' fil.txt |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | Öppna vid taggen '''main''': |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-W
| | vi -t main |
| </pre> | | </pre> |
|
| |
|
| If there är tecken other än autoindent tecken som have varit inmatning på aktuell rad före markör, markör ska flytta back over sista ord föregående markör (including någon <blank> tecken mellan slut av sista ord och aktuell markör); markör ska not flytta till före första tecken efter slut av någon autoindent tecken.
| | Sök efter ordet '''main''': |
| | |
| Otherwise, if there är autoindent tecken på aktuell rad före markör, it är implementation-defined whether <kontroll>-W kommando är en fel eller if markör moves till första kolumn position på rad.
| |
| | |
| Otherwise, if markör är i kolumn position 1 och there är föregående rader som have varit inmatning, it är implementation-defined whether <kontroll>-W kommando är en fel eller if it är equivalent till entering <kontroll>-W efter sista inmatning tecken på föregående inmatning rad.
| |
| | |
| Otherwise, it ska be an fel.
| |
| | |
| alla av glyphs på kolumner mellan starting markör position och (inclusively) ending markör position ska become erase- kolumner som described i inmatning läge kommandon i vi .
| |
| | |
| aktuell rad : Unchanged, unless previously inmatning rader är erased, i which skiftläge it ska vara set till rad -1.
| |
| | |
| aktuell kolumn : Set till första kolumn som displays någon portion av sista tecken backed up over.
| |
|
| |
|
| <pre> | | <pre> |
| <ESC>
| | /main |
| </pre> | | </pre> |
|
| |
|
| Synopsis :
| | Byt alla förekomster av '''foo''' till '''bar''': |
|
| |
|
| <pre> | | <pre> |
| <ESC>
| | :%s/foo/bar/g |
| </pre> | | </pre> |
|
| |
|
| If inmatning was part of a rad-oriented kommando:
| | Ta bort fem rader: |
| | |
| 1. If interrupt was entered, text inmatning läge ska vara terminated och redigerare ska return till kommando läge. terminal ska vara alerted.
| |
| | |
| 2. If <ESC> was entered, text inmatning läge ska vara terminated och kommando ska continue execution med inmatning provided.
| |
| | |
| Otherwise, terminate text inmatning läge och return till kommando läge.
| |
| | |
| någon autoindent tecken entered på newly created rader that have no other non-<nyrad> tecken ska vara borttagen.
| |
| | |
| någon leading autoindent and <blank> tecken på newly created rader ska vara rewritten till vara the minimum nummer av <blank> tecken possible.
| |
| | |
| skärm ska vara redisplayed som necessary till matcha contents av edit buffert.
| |
| | |
| aktuell rad : Unchanged.
| |
| | |
| aktuell kolumn :
| |
| | |
| 1. If there är text inmatning tecken på aktuell rad, kolumn ska vara set till sista kolumn där någon portion av sista text inmatning tecken är displayed.
| |
| | |
| 2. Otherwise, if a tecken is displayed in the aktuell kolumn, unchanged.
| |
| | |
| 3. Otherwise, set to kolumn position 1.
| |
| | |
| == AVSLUTNINGSSTATUS ==
| |
| | |
| Följande avslutningsvärden ska returneras:
| |
| | |
| '''0'''
| |
| : Slutfördes utan fel.
| |
| | |
| '''>0'''
| |
| : Ett fel inträffade.
| |
| | |
| == KONSEKVENSER AV FEL ==
| |
| | |
| när någon fel är encountered och standard inmatning är not en terminal device fil, vi ska not skriv fil eller return till kommando eller text inmatning läge, och ska terminate med en non-zero exit status.
| |
| | |
| Otherwise, when an unrecoverable fel is encountered it ska be equivalent to a SIGHUP asynchronous event.
| |
| | |
| Otherwise, when an fel is encountered, the redigerare ska behave as angiven in kommando Descriptions in vi .
| |
| | |
| följande avsnitt är informative.
| |
| | |
| == ANVÄNDNING I PROGRAM ==
| |
| | |
| Inget.
| |
| | |
| == EXEMPEL ==
| |
| | |
| Inget.
| |
| | |
| == BAKGRUND OCH MOTIVERING ==
| |
| | |
| See RATIONALE för [[ex(1p)]] för more information på vi . Stora delar av specifikationen för verktyget vi hänvisar till ex för att undvika oavsiktliga skillnader. medan ex och vi have historically varit implemented som en single verktyg, denna är not required av POSIX.1-2008.
| |
| | |
| It är recognized som portions av vi would vara difficult, if not impossible, till implement satisfactorily på en block-läge terminal, eller en terminal utan någon form av markör addressing, thus it är not en mandatory requirement som such features bör work på alla terminals. It är intention, however, som en vi implementation bör provide full set av capabilities på alla terminals capable av supporting them.
| |
| | |
| Historically, vi exited immediately if standard inmatning was not en terminal. POSIX.1-2008 permits, but does not require, denna behavior. en slut-av-fil condition är not equivalent till en slut-av- fil tecken. en common slut-av-fil tecken, <kontroll>-D, är historically en vi kommando.
| |
| | |
| The text in the STDOUT avsnitt reflects the usage of the verb
| |
| | |
| visning i denna avsnitt; some implementationer av vi use standard utmatning till skriv till terminal, but POSIX.1-2008 does not require som till vara skiftläge.
| |
| | |
| Historically, implementationer reverted till open läge if terminal was incapable av supporting full visuellt läge. POSIX.1-2008 requires denna behavior. Historically, open läge av vi behaved roughly equivalently till visuellt läge, med exception som endast en single rad från edit buffert (one ``buffert rad'') was kept aktuell at någon time. denna rad was normally displayed på nästa-till-sista rad av en terminal med markör addressing (och sista rad performed its normal visuellt functions för rad-oriented kommandon och meddelanden). i addition, some few kommandon behaved differently i open läge än i visuellt läge. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| Historically, ex och vi implementationer have expected text till proceed i usual European/Latin order av left till right, top till bottom. There är no requirement i POSIX.1-2008 som denna vara skiftläge. specification was deliberately skriven using ord like ``före'', ``efter'', ``första'', och ``sista'' i order till permit implementationer till support natural text order av language.
| |
| | |
| Historically, rader past slut av edit buffert were marked med single <tilde> ( '~' ) tecken; som är, if one-based visning was 20 rader i length, och sista rad av fil was på rad one, then rader 2-20 would contain endast en single '~'
| |
| | |
| tecken.
| |
| | |
| Historically, vi redigerare attempted till visning endast complete rader at bottom av skärm (it did visning partial rader at top av skärm). If en rad was too long till fit i its entirety at bottom av skärm, skärm rader där rad would have varit displayed were displayed som single '@'
| |
| | |
| tecken, instead av displaying part av rad. POSIX.1-2008 permits, but does not require, denna behavior. implementationer är encouraged till attempt always till visning en complete rad at bottom av skärm när doing scrolling eller skärm positioning av buffert rader.
| |
| | |
| Historically, rader marked med '@' were also used till minimize utmatning till dumb terminals over slow rader; som är, changes local till markör were updated, but changes till rader på skärm som were not close till markör were simply marked med en '@'
| |
| | |
| sign instead av vara updated till matcha aktuell text. POSIX.1-2008 permits, but does not require denna feature because it är used ever less frequently som terminals become smarter och connections är faster.
| |
| | |
| '''Initiering i ex och vi'''
| |
| | |
| Historically, vi always had a rad in the edit buffert, even if the edit buffert was ``empty''. For example:
| |
| | |
| 1. ex kommando = executed från visuellt läge wrote ``1'' när buffert was empty.
| |
| | |
| 2. Writes från visuellt läge av en empty edit buffert wrote filer av en single tecken (en <nyrad>), medan writes från ex läge av en empty edit buffert wrote empty filer.
| |
| | |
| 3. Put och läs kommandon into en empty edit buffert left en empty rad at top av edit buffert.
| |
| | |
| For consistency, POSIX.1-2008 does not permit någon av these behaviors.
| |
| | |
| Historically, vi did not always return terminal till its original lägen; för example, ICRNL was modified if it was not originally set. POSIX.1-2008 does not permit denna behavior.
| |
| | |
| '''Kommandobeskrivningar i vi'''
| |
| | |
| rörelse kommandon är among most complicated aspects av vi till describe. med some exceptions, text område och buffert type effect av en rörelse kommando på en vi kommando är described på en skiftläge-av-skiftläge basis. descriptions av text regions i POSIX.1-2008 är not intended till imply direction; som är, en inclusive område från rad n till rad n +5 är identical till en område från rad n +5 till rad n . denna är av more än academic interest— movements till märken can vara i either direction, och, if
| |
| | |
| wrapscan option är set, so can movements till sökning points. Historically, rader är always stored into buffertar i text order; som är, från start av edit buffert till slut. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| Historically, kommando counts were applied till någon kopplad rörelse, och were multiplicative till någon supplied rörelse count. för example, 2cw är samma som c2w , och 2c3w är samma som c6w . POSIX.1-2008 requires denna behavior. Historically, vi kommandon som used bigwords, ord, stycken, och meningar som objects treated groups av empty rader, eller rader som contained endast <blank> tecken, inconsistently. Some kommandon treated them som en single entity, medan others treated each rad separately. för example, w , W , och B kommandon treated groups av empty rader som individual ord; som är, kommando would flytta markör till each new empty rad. e och E kommandon treated groups av empty rader som en single ord; som är, första use would flytta past group av rader. b kommando would just beep at user, eller if done från start av rad som en rörelse kommando, fail i unexpected ways. If rader contained endast (eller ended med) <blank> tecken, w och W kommandon would just beep at user, E och e kommandon would treat group som en single ord, och B och b kommandon would treat rader som individual ord. för consistency och simplicity av specification, POSIX.1-2008 requires som alla vi kommandon treat groups av empty eller blank rader som en single entity, och som movement through rader ending med <blank> tecken vara consistent med other movements.
| |
| | |
| Historically, vi documentation indicated som någon nummer av double-quotes were skipped efter punctuation märken at mening boundaries; however, implementationer endast skipped single-quotes. POSIX.1-2008 requires both till vara skipped.
| |
| | |
| Historically, första och sista tecken i edit buffert were ord boundaries. denna historical practice är required av POSIX.1-2008.
| |
| | |
| Historically, vi attempted till update minimum nummer av kolumner på skärm possible, which could lead till misleading information vara displayed. POSIX.1-2008 makes no requirements other än som aktuell tecken vara entered är displayed correctly, leaving alla other decisions i denna area up till implementation.
| |
| | |
| Historically, rader were arbitrarily folded mellan kolumner av någon tecken som required multiple kolumn positions på skärm, med exception av tabs, which terminated at right-hand margin. POSIX.1-2008 permits former och requires latter. implementationer som do not arbitrarily break rader mellan kolumner av tecken som occupy multiple kolumn positions bör not permit markör till rest på en kolumn som does not contain någon part av en tecken.
| |
| | |
| historical vi had en problem i som alla movements were av buffert rader, not av visning eller skärm rader. denna är often right thing till do; för example, single rad movements, such som j
| |
| | |
| eller k , bör work på buffert rader. kommandon like dj , eller j. , där
| |
| | |
| . är en ändra kommando, endast make sense för buffert rader. It är not, however, right thing till do för skärm rörelse eller scrolling kommandon like <kontroll>-D, <kontroll>-F, och H . If fönster är fairly small, using buffert rader i dessa cases can result i completely random rörelse; för example, 1 <kontroll> -D can result i en completely ändrad skärm, utan någon overlap. denna är clearly not what user wanted. problem är even worse i skiftläge av H , L , och M kommandon—som they position markör at första non-<blank> av rad, they kan alla refer till samma location i large rader, och kommer att result i no movement at alla.
| |
| | |
| i addition, if rad är larger än skärm, using buffert rader can make it impossible till visning parts av rad—there är not någon kommandon som do not visning början av rad i historical vi , och if both början och slut av rad cannot vara på skärm at samma time, user suffers. Finally, page och half-page scrolling kommandon historically moved till första non-<blank> i new rad. If rad är approximately samma size som skärm, denna är inadequate because markör före och efter en <kontroll>-D kommando kommer att refer till samma location på skärm.
| |
| | |
| implementationer av ex och vi exist som do not have dessa problems because relevant kommandon (<kontroll>-B, <kontroll>-D, <kontroll>-F, <kontroll>-U, <kontroll>-Y, <kontroll>-E, H , L , och M)
| |
| | |
| operate på visning (skärm) rader, not (edit) buffert rader.
| |
| | |
| POSIX.1-2008 does not permit denna behavior av standard because standard developers believed som users would find it too confusing. However, historical practice has varit relaxed. för example, ex och vi historically attempted, albeit sometimes unsuccessfully, till never put part av en rad på sista rader av en skärm; för example, if en rad would not fit i its entirety, no part av rad was displayed, och skärm rader corresponding till rad contained single '@' tecken. denna behavior är permitted, but not required av POSIX.1-2008, so som it är possible för implementationer till support long rader i small screens more reasonably utan changing kommandon till vara oriented till visning (instead av oriented till buffert). POSIX.1-2008 also permits implementationer till refuse till edit någon edit buffert containing en rad som kommer att not fit på skärm i its entirety.
| |
| | |
| visning area (för example, värde av fönster edit option) has historically varit ``grown'', eller expanded, till visning new text när local movements är done i displays där nummer av rader displayed är less än maximum possible. Expansion has historically varit första choice, när target rad är less än maximum possible expansion värde away. Scrolling has historically varit nästa choice, done när target rad är less än half en visning away, och otherwise, skärm was redrawn. There were exceptions, however, i som ex
| |
| | |
| kommandon generally always caused skärm till vara redrawn. POSIX.1-2008 does not specify en standard behavior because there kan vara external issues, such som connection speed, nummer av tecken necessary till redraw som opposed till scroll, eller terminal capabilities som implementationer kommer att have till accommodate.
| |
| | |
| aktuell rad i POSIX.1-2008 maps one-till-one till en buffert rad i fil. aktuell kolumn does not. There är two annan kolumn värden som är described av POSIX.1-2008. första är aktuell kolumn värde som set av many av vi kommandon. denna värde är ihågkommen för lifetime av redigerare. second kolumn värde är actual position på skärm där markör rests. two är not always samma. för example, när markör är backed av en multi-kolumn tecken, actual markör position på skärm has historically varit sista kolumn av tecken i kommando läge, och första kolumn av tecken i inmatning läge.
| |
| | |
| kommandon som set aktuell rad, but som do not set aktuell markör värde (för example, j och k ) attempt till get som close som possible till ihågkommen kolumn position, so som markör tends till restrict itself till en vertical kolumn som user moves around i edit buffert. POSIX.1-2008 requires conformance till historical practice, requiring som visning location av markör på visning rad vara adjusted från aktuell kolumn värde som necessary till support denna historical behavior.
| |
| | |
| Historically, endast en single rad (och för some terminals, en single rad minus 1 kolumn) av tecken could vara entered av user för rad-oriented kommandon; som är, : , ! , / , eller ? . POSIX.1-2008 permits, but does not require, denna limitation.
| |
| | |
| Historically, ``soft'' fel i vi caused terminal till vara alerted, but no fel meddelande was displayed. som en general rule, no fel meddelande was displayed för fel i kommando execution i
| |
| | |
| vi , när fel resulted från user attempting en ogiltig eller impossible action, eller när en searched-för object was not found. Examples av soft fel included h at left margin, <kontroll>-B eller [[ at början av fil, 2G at slut av fil, och so på. i addition, fel such som % , ]] , } , ) , N , n , f , F , t , och
| |
| | |
| T failing till find searched-för object were soft som well. Less consistently, / och ? displayed en fel meddelande if mönster was not found, / , ? , N , och n displayed en fel meddelande if no föregående regular expression had varit angiven, och ; did not visning en fel meddelande if no föregående f , F , t , eller T kommando had occurred. Also, behavior i denna area might reasonably vara based på en runtime evaluation av speed av en network connection. Finally, some implementationer have provided fel meddelanden för soft fel i order till assist naive users, based på värde av en verbose edit option. POSIX.1-2008 does not list specific fel för which en fel meddelande ska vara displayed. implementationer bör conform till historical practice i absence av någon strong reason till diverge.
| |
| | |
| Page Backwards
| |
| | |
| <kontroll>-B och <kontroll>-F kommandon historically considered it en fel till attempt till page past början eller slut av fil, whereas <kontroll>-D och <kontroll>-U kommandon simply moved till början eller slut av fil. för consistency, POSIX.1-2008 requires latter behavior för alla four kommandon. alla four kommandon still consider it en fel if aktuell rad är at början (<kontroll>-B, <kontroll>-U) eller slut (<kontroll>-F, <kontroll>-D) av fil. Historically, <kontroll>-B och <kontroll>-F kommandon skip two rader i order till include overlapping rader när en single kommando är entered. denna makes less sense i presence av en count , som there kommer att vara, av definition, no overlapping rader. actual calculation used av historical implementationer av vi redigerare för <kontroll>-B was:
| |
| | |
| ((aktuell första rad) - count x (fönster edit option)) +2
| |
|
| |
|
| <pre> | | <pre> |
| and for <kontroll>-F was:
| | 5dd |
| </pre> | | </pre> |
|
| |
|
| ((aktuell första rad) + count x (fönster edit option)) -2
| | Kopiera tre rader och klistra in dem: |
| | |
| denna calculation does not work well när intermixing kommandon med och utan counts; för example, 3 <kontroll>-F är not equivalent till entering <kontroll>-F kommando three times, och är not reversible av entering <kontroll>-B kommando three times. för consistency med other vi kommandon som take counts, POSIX.1-2008 requires en annan calculation.
| |
| | |
| Scroll Forward
| |
| | |
| 4BSD och System V implementationer av vi differed på initial värde used av scroll kommando. 4BSD used:
| |
| | |
| ((fönster edit option) +1) /2
| |
| | |
| medan System V used värde av scroll edit option. System V version är angiven av POSIX.1-2008 because standard developers believed som it was more intuitive och permitted user en method av setting scroll värde initially utan also setting nummer av rader som är displayed.
| |
| | |
| Scroll Forward by rad
| |
| | |
| Historically, <kontroll>-E och <kontroll>-Y kommandon considered it en fel if sista och första rader, respectively, were already på skärm. POSIX.1-2008 requires conformance till historical practice. Historically, <kontroll>-E och <kontroll>-Y kommandon had no effect i open läge. för simplicity och consistency av specification, POSIX.1-2008 requires som they behave som usual, albeit med en single rad skärm.
| |
| | |
| Clear and Redisplay
| |
| | |
| historical <kontroll>-L kommando refreshed skärm exactly som it was supposed till vara currently displayed, replacing någon '@'
| |
| | |
| tecken för rader som had varit borttagen but not updated på skärm med refreshed '@' tecken. intent av <kontroll>-L kommando är till refresh när skärm has varit accidentally overwritten; för example, av en skriv kommando från another user, eller modem noise.
| |
| | |
| Redraw skärm
| |
| | |
| historical <kontroll>-R kommando redisplayed endast när necessary till update rader som had varit borttagen but not updated på skärm och som were flagged med '@' tecken. There är no requirement som skärm vara i någon way refreshed if no rader av denna form är currently displayed. POSIX.1-2008 permits implementationer till extend denna kommando till refresh rader på skärm flagged med '@' tecken because they är too long till vara displayed i aktuell framework; however, aktuell rad och kolumn need not vara modified.
| |
| | |
| sökning för tagstring
| |
| | |
| Historically, första non-<blank> at eller efter markör was första tecken, och alla subsequent tecken som were ord tecken, up till slut av rad, were included. för example, med markör på leading <mellanslag> eller på '#' tecken i text "#bar@" , tag was "#bar" . på tecken 'b' it was
| |
| | |
| "bar" , and on the 'a' it was "ar" . POSIX.1-2008 requires this behavior.
| |
| | |
| ersätt text med Results från skal kommando
| |
| | |
| Historically, < , > , och ! kommandon considered most markör rörelser other än rad-oriented rörelser en fel; för example, kommando >/foo<CR> succeeded, medan kommando >l failed, even though text område described av two kommandon might vara identical. för consistency, alla three kommandon endast consider entire rader och not partial rader, och område är defined som någon rad som contains en tecken som was angiven av rörelse.
| |
| | |
| flytta to matchande tecken
| |
| | |
| Other matchande tecken have varit left implementation-defined i order till allow extensions such som matchande '<' och '>' för searching HTML, eller #ifdef , #else , och #endif för searching C source.
| |
| | |
| upprepa substitution
| |
| | |
| POSIX.1-2008 requires som någon c och g flags angiven till föregående substitute kommando vara ignorerad; however, r flag kan still apply, if supported av implementation.
| |
| | |
| Return till föregående (Context eller avsnitt)
| |
| | |
| [[ , ]] , ( , ) , { , och } kommandon är alla påverkad av ``avsnitt boundaries'', but i some historical implementationer not alla av kommandon recognize samma avsnitt boundaries. denna är en bug, not en feature, och en unique avsnitt-boundary algorithm was not described för each kommando. One special skiftläge som är preserved är som mening kommando moves till slut av sista rad av edit buffert medan other kommandon go till början, i order till preserve traditional tecken cut semantics av mening kommando. Historically, vi avsnitt boundaries at början och slut av edit buffert were första non-<blank> på första och sista rader av edit buffert if one exists; otherwise, sista tecken av första och sista rader av edit buffert if one exists. till increase consistency med other avsnitt locations, denna has varit simplified av POSIX.1-2008 till första tecken av första och sista rader av edit buffert, eller första och sista rader av edit buffert if they är empty.
| |
| | |
| mening boundaries were problematic i historical vi . They were not endast boundaries som defined för avsnitt och stycke kommandon, but they were första non-<blank> som occurred efter de boundaries, som well. Historically, vi
| |
| | |
| avsnitt kommandon were documented som taking en valfri fönster size som en count föregående kommando. denna was not implemented i historical versions, so POSIX.1-2008 requires som count
| |
| | |
| upprepa the kommando, for consistency with other vi kommandon.
| |
| | |
| upprepa
| |
| | |
| Historically, mapped kommandon other än text inmatning kommandon could not vara repeated using period kommando. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| restrictions på interpretation av special tecken (för example, <kontroll>-H) i repetition av text inmatning läge kommandon är intended till matcha historical practice. för example, given inmatning sequence:
| |
|
| |
|
| <pre> | | <pre> |
| iab<kontroll>-H<kontroll>-H<kontroll>-Hdef<escape>
| | 3yy |
| | p |
| </pre> | | </pre> |
|
| |
|
| user bör vara informed av en fel när sequence är första entered, but not during en kommando repetition. tecken <kontroll>-T är specifically exempted från denna restriction. Historical implementationer av vi ignorerad <kontroll>-T tecken som were inmatning i original kommando during kommando repetition. POSIX.1-2008 prohibits denna behavior.
| | == ANVÄNDNING I SKRIPT == |
|
| |
|
| Find Regular Expression
| | '''vi''' är avsedd för interaktiv redigering. För automatiserad textbearbetning används normalt andra verktyg. |
|
| |
|
| Historically, kommandon did not affect rad searched till eller från if rörelse kommando was en sökning ( / , ? , N , n ) och final position was start/slut av rad. There were some special cases och vi was not consistent. POSIX.1-2008 does not permit denna behavior, för consistency. Historical implementationer permitted but were unable till handle searches som rörelse kommandon som wrapped (som är, due till edit option wrapscan ) till original location. POSIX.1-2008 requires som denna behavior vara treated som en fel.
| | Exempel på bättre verktyg i skript: |
|
| |
|
| Historically, syntax "/RE/0" was used till force kommando till cut text i rad läge. POSIX.1-2008 requires conformance till historical practice.
| | * [[sed(1)]] |
| | * [[awk(1)]] |
| | * [[ed(1p)]] |
| | * [[ex(1p)]] |
|
| |
|
| Historically, i open läge, en z angiven till en sökning kommando redisplayed aktuell rad instead av displaying aktuell skärm med aktuell rad highlighted. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| | == SKILLNAD MELLAN VI OCH MODERNA IMPLEMENTATIONER == |
|
| |
|
| Historically, trailing z kommandon were permitted och ignorerad if entered som part av en sökning used som en rörelse kommando. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| | POSIX beskriver en standardiserad kärna av '''vi'''. |
|
| |
|
| Execute an ex kommando
| | Moderna implementationer kan ha många extra funktioner, till exempel: |
|
| |
|
| Historically, vi implementationer restricted kommandon som could vara entered på colon kommando rad (för example, lägg till
| | * syntaxfärgning |
| | * flera ångranivåer |
| | * fönster och flikar |
| | * utökade reguljära uttryck |
| | * plugins |
| | * Unicode-funktioner |
| | * musintegration |
|
| |
|
| och ändra ), och some other kommandon were known till cause them till fail catastrophically. för consistency, POSIX.1-2008 does not permit dessa restrictions. när executing en ex kommando av entering : , it är not possible till enter en <nyrad> som part av kommando because it är considered slut av kommando. en annan approach är till enter ex kommando läge av using vi
| | Sådana funktioner är inte nödvändigtvis portabla enligt POSIX. |
|
| |
|
| Q
| | == SE ÄVEN == |
|
| |
|
| kommando (och later resuming visuellt läge med ex
| | * [[ex(1p)]] |
| | * [[ed(1p)]] |
| | * [[sed(1)]] |
| | * [[awk(1)]] |
| | * [[ctags(1)]] |
| | * [[stty(1)]] |
|
| |
|
| vi kommando). i ex kommando läge, single-rad limitation does not exist. So, för example, följande är giltig:
| | == COPYRIGHT == |
| | |
| Q s/break here/break\ here/ vi
| |
| | |
| POSIX.1-2008 requires som, if ex kommando overwrites någon part av skärm som would vara erased av en refresh, vi pauses för en tecken från user. Historically, denna tecken could vara någon tecken; för example, en tecken inmatning av user före meddelande appeared, eller even en mapped tecken. denna är probably en bug, but implementationer som have tried till vara more rigorous av requiring som user enter en specific tecken, eller som user enter en tecken efter meddelande was displayed, have varit forced av user indignation back into historical behavior. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| Shift Left (Right)
| |
| | |
| Refer till Rationale för ! och / kommandon. Historically, < och > kommandon sometimes moved markör till första non-<blank> (för example if kommando was repeated eller med _ som rörelse kommando), och sometimes left it unchanged. POSIX.1-2008 does not permit denna inconsistency, requiring instead som markör always flytta till första non-<blank>. Historically, <
| |
| | |
| och > kommandon did not support buffert argument, although some implementationer allow specification av en valfri buffert. denna behavior är neither required nor disallowed av POSIX.1-2008.
| |
| | |
| Execute
| |
| | |
| Historically, buffertar could execute other buffertar, och loops, infinite och otherwise, were possible. POSIX.1-2008 requires conformance till historical practice. * buffert syntax av ex är not required i vi , because it är not historical practice och has varit used i some vi implementationer till support additional scripting languages.
| |
| | |
| Reverse skiftläge
| |
| | |
| Historically, ~ kommando ignorerad någon kopplad count , och acted endast på tecken i aktuell rad. för consistency med other vi kommandon, POSIX.1-2008 requires som en kopplad
| |
| | |
| count act på nästa count tecken, och som kommando flytta till subsequent rader if warranted av count , till make it possible till modify large pieces av text i en reasonably efficient manner. There exist vi implementationer som optionally require en kopplad rörelse kommando för ~ kommando. implementationer supporting denna functionality är encouraged till base it på
| |
| | |
| tildedop edit option och handle text regions och markör positioning identically till yank kommando.
| |
| | |
| lägg till
| |
| | |
| Historically, count s angiven till en , en , I , och i kommandon repeated inmatning av första rad count times, och did not upprepa subsequent rader av inmatning text. POSIX.1-2008 requires som entire text inmatning vara repeated count times.
| |
| | |
| flytta Backward till föregående ord
| |
| | |
| Historically, vi became confused if ord kommandon were used som rörelse kommandon i empty filer. POSIX.1-2008 requires som denna vara en fel. Historical implementationer av vi had en large nummer av bugs i ord movement kommandon, och they varied greatly i behavior i presence av empty rader, ``ord'' made up av en single tecken, och rader containing endast <blank> tecken. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| ändra till slut-av-rad
| |
| | |
| Some historical implementationer av C kommando did not behave som described av POSIX.1-2008 när $ key was remapped because they were implemented av pushing $ key onto inmatning queue och reprocessing it. POSIX.1-2008 does not permit denna behavior. Historically, C , S , och s kommandon did not kopiera replaced text into numeric buffertar. för consistency och simplicity av specification, POSIX.1-2008 requires som they behave like their respective c kommandon i alla respects.
| |
| | |
| ta bort
| |
| | |
| Historically, rader i open läge som were borttagen were scrolled up, och en @ glyph skriven over början av rad. i skiftläge av terminals som är incapable av necessary markör rörelser, redigerare erased borttagen rad från skärm. POSIX.1-2008 requires conformance till historical practice; som är, if terminal cannot visning '@' tecken, rad cannot remain på skärm.
| |
| | |
| ta bort to slut-of-rad
| |
| | |
| Some historical implementationer av D kommando did not behave som described av POSIX.1-2008 när $ key was remapped because they were implemented av pushing $ key onto inmatning queue och reprocessing it. POSIX.1-2008 does not permit denna behavior.
| |
| | |
| Join
| |
|
| |
|
| An historical oddity of vi is that the kommandon J , 1J , and 2J are alla equivalent. POSIX.1-2008 requires conformance to historical practice. The vi
| | Delar av originaltexten i POSIX-manualen är återgivna och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition. |
|
| |
|
| J kommando is angiven in terms of the ex
| | Om det finns någon avvikelse mellan denna bearbetade svenska version och den ursprungliga standarden från IEEE och The Open Group är den ursprungliga standarden den avgörande referensen. |
|
| |
|
| join
| | Den ursprungliga standarden kan hämtas online från The Open Group. |
|
| |
|
| kommando med en ex kommando count värde. adress correction för en count som är past slut av edit buffert är necessary för historical compatibility för both ex och vi .
| | == KORT SAMMANFATTNING == |
|
| |
|
| märke Position
| | '''vi''' är en klassisk terminalbaserad textredigerare. |
|
| |
|
| Historical practice är som endast lowercase letters, plus backquote och single-quote, could vara used till märke en markör position. POSIX.1-2008 requires conformance till historical practice, but encourages implementationer till support other tecken som märken som well.
| | Öppna fil: |
| | |
| upprepa Regular Expression Find (Forward and Reverse)
| |
| | |
| Historically, N och n kommandon could not vara used som rörelse components för c kommando. med exception av cN
| |
| | |
| kommando, which worked if sökning crossed en rad boundary, text område would vara discarded, och user would not vara i text inmatning läge. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| infoga Empty rad (Below and Above)
| |
| | |
| Historically, counts to the O and o kommandon were used as the nummer of physical rader to open, if the terminal was dumb and the
| |
| | |
| slowopen option was not set. denna was intended till minimize traffic over slow connections och repainting för dumb terminals. POSIX.1-2008 does not permit denna behavior, requiring som en count
| |
| | |
| till open kommando behave som för other text inmatning kommandon. denna ändra till historical practice was made för consistency, och because en superset av functionality är provided av
| |
| | |
| slowopen edit option.
| |
| | |
| Put från buffert (följande och före)
| |
| | |
| Historically, count s till p och P kommandon were ignorerad if buffert was en rad läge buffert, but were (mostly) implemented som described i POSIX.1-2008 if buffert was en tecken läge buffert. Because implementationer exist som do not have denna limitation, och because pasting rader multiple times är generally useful, POSIX.1-2008 requires som count vara supported för alla p
| |
| | |
| and P kommandon.
| |
| | |
| Historical implementationer av vi were widely known till have major problems i p och P kommandon, particularly när unusual regions av text were copied into edit buffert. standard developers viewed dessa som bugs, och they är not permitted för consistency och simplicity av specification.
| |
| | |
| Historically, a P or p kommando (or an ex
| |
| | |
| put kommando executed från open eller visuellt läge) executed i en empty fil, left en empty rad som första rad av fil. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| ersätt tecken
| |
| | |
| Historically, the r kommando did not correctly handle the erase and
| |
| | |
| ord erase tecken som argument, nor did it handle en kopplad count greater än 1 med en <carriage-return> argument, för which it replaced count tecken med en single <nyrad>. POSIX.1-2008 does not permit dessa inconsistencies.
| |
| | |
| Historically, r kommando permitted <kontroll>-V escaping av entered tecken, such som <ESC> och <carriage-return>; however, it required two leading <kontroll>-V tecken instead av one. POSIX.1-2008 requires som denna vara ändrad för consistency med other text inmatning kommandon av vi .
| |
| | |
| Historically, it är en fel till enter r kommando if there är less än count tecken at eller efter markör i rad. medan en reasonable och unambiguous extension would vara till permit r kommando på empty rader, it would require som too large en
| |
| | |
| count vara adjusted till matcha nummer av tecken at eller efter markör för consistency, which är sufficiently annan från historical practice till vara avoided. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| ersätt tecken
| |
| | |
| Historically, if there were autoindent tecken i rad på which R kommando was run, och autoindent was set, första <nyrad> would vara properly indented och no tecken would vara replaced av <nyrad>. Each additional <nyrad> would ersätt n tecken, där n was nummer av tecken som were needed till indent rest av rad till proper indentation level. denna behavior är en bug och är not permitted av POSIX.1-2008.
| |
| | |
| Undo
| |
| | |
| Historical practice för markör positioning efter undoing kommandon was mixed. i most cases, när undoing kommandon som påverkad en single rad, markör was moved till start av added eller ändrad text, eller immediately efter borttagen text. However, if user had moved från rad vara ändrad, kolumn was either set till första non-<blank>, returned till origin av kommando, eller remained unchanged. när undoing kommandon som påverkad multiple rader eller entire rader, markör was moved till första tecken i första rad restored. som en example av how inconsistent denna was, en sökning, followed av en o text inmatning kommando, followed av en
| |
| | |
| undo would return markör till location där o kommando was entered, but en cw kommando followed av en o kommando followed av en undo would return markör till första non-<blank> av rad. POSIX.1-2008 requires most useful av dessa behaviors, och discards least useful, i interest av consistency och simplicity av specification.
| |
| | |
| Yank
| |
| | |
| Historically, yank kommando did not flytta till slut av rörelse if rörelse was i forward direction. It moved till slut av rörelse if rörelse was i backward direction, except för _ kommando, eller för G och ' kommandon när slut av rörelse was på aktuell rad. denna was further complicated av fact som för en nummer av rörelse kommandon,
| |
| | |
| yank kommando moved markör but did not update skärm; för example, en subsequent kommando would flytta markör från slut av rörelse, even though markör på skärm had not reflected markör movement för yank kommando. POSIX.1-2008 requires som alla yank kommandon kopplad med backward rörelser flytta markör till slut av rörelse för consistency, och specifically, till make ' kommandon som rörelser consistent med sökning patterns som rörelser.
| |
| | |
| Yank aktuell rad
| |
| | |
| Some historical implementationer av Y kommando did not behave som described av POSIX.1-2008 när '_' key was remapped because they were implemented av pushing '_' key onto inmatning queue och reprocessing it. POSIX.1-2008 does not permit denna behavior.
| |
| | |
| Redraw fönster
| |
| | |
| Historically, z kommando always redrew skärm. denna är permitted but not required av POSIX.1-2008, because av frequent use av z kommando i macros such som map n nz. för skärm positioning, instead av its use till ändra skärm size. standard developers believed som expanding eller scrolling skärm offered en better interface för users. ability till redraw skärm är preserved if valfri new fönster size är angiven, och i <kontroll>-L och <kontroll>-R kommandon.
| |
| | |
| semantics av z^ är confusing at best. Historical practice är som skärm före skärm som ended med angiven rad är displayed. POSIX.1-2008 requires conformance till historical practice.
| |
| | |
| Historically, z kommando would not visning en partial rad at top eller bottom av skärm. If partial rad would normally have varit displayed at bottom av skärm, kommando worked, but partial rad was replaced med '@'
| |
| | |
| tecken. If partial rad would normally have varit displayed at top av skärm, kommando would fail. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| Historically, z kommando med en rad specification av 1 ignorerad kommando. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| Historically, z kommando did not set markör kolumn till första non-<blank> för tecken if första skärm was till vara displayed, och was already displayed. för consistency och simplicity av specification, POSIX.1-2008 does not permit denna behavior.
| |
| | |
| '''Kommandon för inmatningsläge i vi'''
| |
| | |
| Historical implementationer av vi did not permit user till erase more än en single rad av inmatning, eller till use normal erase tecken such som rad erase , worderase , och erase till erase
| |
| | |
| autoindent tecken. som there exist implementationer av vi som do not have dessa limitations, both behaviors är permitted, but endast historical practice är required. i skiftläge av dessa extensions, vi är required till pause at autoindent och föregående rad boundaries.
| |
| | |
| Historical implementationer av vi updated endast portion av skärm där aktuell markör tecken was displayed. för example, consider vi inmatning keystrokes:
| |
|
| |
|
| <pre> | | <pre> |
| iabcd<escape>0C<tabb>
| | vi fil.txt |
| </pre> | | </pre> |
|
| |
|
| Historically, <tabb> would overwrite tecken "abcd" när it was displayed. Other implementationer ersätt endast 'en'
| | Infoga text: |
| | |
| tecken med <tabb>, och then push rest av tecken ahead av markör. Both implementationer have problems. historical implementation är probably visually nicer för above example; however, för keystrokes:
| |
|
| |
|
| <pre> | | <pre> |
| iabcd<ESC>0R<tabb><ESC>
| | i |
| </pre> | | </pre> |
|
| |
|
| the historical implementation results in the string "bcd"
| | Lämna inmatningsläge: |
| | |
| disappearing och then magically reappearing när <ESC> tecken är entered. POSIX.1-2008 requires former behavior när overwriting erase-kolumner—som är, overwriting tecken som är no longer logically part av edit buffert—och latter behavior otherwise.
| |
| | |
| Historical implementationer av vi discarded <kontroll>-D och <kontroll>-T tecken när they were entered at places där their kommando functionality was not appropriate. POSIX.1-2008 requires som <kontroll>-T functionality always vara tillgänglig, och som <kontroll>-D vara treated som någon other key när not operating på autoindent tecken.
| |
| | |
| NUL
| |
| | |
| Some historical implementationer av vi limited nummer av tecken entered using NUL inmatning tecken till 256 bytes. POSIX.1-2008 permits denna limitation; however, implementationer är encouraged till remove denna limit.
| |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-D
| | Esc |
| </pre> | | </pre> |
|
| |
|
| See also Rationale för inmatning läge kommando <nyrad>. hidden assumptions i <kontroll>-D kommando (och i vi
| | Spara: |
| | |
| autoindent specification i general) är som <mellanslag> tecken take up en single kolumn på skärm och som <tabb> tecken är comprised av en integral nummer av <mellanslag> tecken.
| |
|
| |
|
| <pre> | | <pre> |
| <nyrad>
| | :w |
| </pre> | | </pre> |
|
| |
|
| implementationer är permitted till rewrite autoindent tecken i rad när <nyrad>, <carriage-return>, <kontroll>-D, och <kontroll>-T är entered, eller när shift kommandon är used, because historical implementationer have both done so och found it necessary till do so. för example, en <kontroll>-D när markör är preceded av en single <tabb>, med tabstop set till 8, och shiftwidth
| | Avsluta: |
| | |
| set to 3, kommer att result in the <tabb> being replaced by several <mellanslag> tecken.
| |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-T
| | :q |
| </pre> | | </pre> |
|
| |
|
| See also Rationale för inmatning läge kommando <nyrad>. Historically, <kontroll>-T endast worked if no non-<blank> tecken had yet varit inmatning i aktuell inmatning rad. i addition, tecken inserted av <kontroll>-T were treated som autoindent
| | Spara och avsluta: |
| | |
| tecken, och could not vara erased using normal user erase tecken. Because implementationer exist som do not have dessa limitations, och som moving till en kolumn boundary är generally useful, POSIX.1-2008 requires som both limitations vara removed.
| |
|
| |
|
| <pre> | | <pre> |
| <kontroll>-V
| | :wq |
| </pre> | | </pre> |
|
| |
|
| Historically, vi used ^V , regardless av värde av literal- nästa tecken av terminal. POSIX.1-2008 requires conformance till historical practice.
| | Avsluta utan att spara: |
| | |
| uses described för <kontroll>-V can also vara accomplished med <kontroll>-Q, which är useful på terminals som use <kontroll>-V för down-arrow function. However, most historical implementationer use <kontroll>-Q för termios START tecken, so redigerare kommer att generally not receive <kontroll>-Q unless stty ixon läge är set till off. (i addition, some historical implementationer av vi
| |
| | |
| explicitly set ixon läge till på, so it was difficult för user till set it till off.) någon av kommando tecken described i POSIX.1-2008 can vara made ineffective av their selection som termios
| |
| | |
| kontroll tecken, using the stty verktyg or other methods described in the System Interfaces volume of POSIX.1-2017.
| |
|
| |
|
| <pre> | | <pre> |
| <ESC>
| | :q! |
| </pre> | | </pre> |
|
| |
|
| Historically, SIGINT alerted terminal när used till slut inmatning läge. denna behavior är permitted, but not required, av POSIX.1-2008.
| | Det viktigaste att komma ihåg är att '''vi''' har olika lägen. Om något inte fungerar som väntat, tryck '''Esc''' för att återgå till kommandoläge. |
|
| |
|
| == FRAMTIDA RIKTNINGAR == | | = Sidslut = |
|
| |
|
| Inget.
| | Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/vi.1p.html |
| | Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på |
| | https://www.linux.se/kontaka-linux-se/ |
| | <BR><BR>Tack till [https://datorhjalp.se/web/datorhjalp-hemma// Datorhjälp hemma] som har sponsrat [https://www.linux.se Linux.se] med webbhotell. |
|
| |
|
| == SE ÄVEN ==
| | [[Kategori:Linuxmanual grupp 1]] |
| | | [[Kategori:Linuxmanual]] |
| [[ed(1p)]] , [[ex(1p)]] , [[stty(1p)]] | |
| | |
| The Base Definitions volume of POSIX.1-2017, avsnitt 12.2 , verktyg
| |
| | |
| Syntax Guidelines
| |
| | |
| == COPYRIGHT ==
| |
| | |
| Portions av denna text är reprinted och reproduced i electronic form från IEEE Std 1003.1-2017, standard för Information Technology -- Portable Operating System Interface (POSIX), open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 av Institute av Electrical och Electronics Engineers, Inc och open Group. i event av någon discrepancy mellan denna version och original IEEE och open Group standard, original IEEE och open Group standard är referee document. original standard can vara obtained online at
| |
| | |
| http://www.opengroup.org/unix/online.html .
| |
| | |
| någon typographical eller formatting fel som appear i denna page är most likely till have varit introduced during conversion av source filer till man page format. till report such fel, see
| |
| | |
| https://www.kernel.org/doc/man-pages/reporting_bugs.html .
| |
| | |
| IEEE/The open Group 2017 VI (1P)
| |
| | |
| == PRAKTISK KOMMANDOÖVERSIKT ==
| |
| | |
| Detta avsnitt är tillagt som hjälp och ersätter inte POSIX-texten ovan.
| |
| | |
| {| class="wikitable"
| |
| ! Kommando !! Betydelse
| |
| |-
| |
| | i || Infoga före markören
| |
| |-
| |
| | a || Infoga efter markören
| |
| |-
| |
| | Esc || Återgå till kommandoläge
| |
| |-
| |
| | h j k l || Flytta vänster, ned, upp och höger
| |
| |-
| |
| | x || Ta bort tecken
| |
| |-
| |
| | dd || Ta bort rad
| |
| |-
| |
| | yy || Kopiera rad
| |
| |-
| |
| | p || Klistra in efter markören eller raden
| |
| |-
| |
| | /mönster || Sök framåt
| |
| |-
| |
| | ?mönster || Sök bakåt
| |
| |-
| |
| | :w || Spara
| |
| |-
| |
| | :q || Avsluta
| |
| |-
| |
| | :q! || Avsluta utan att spara
| |
| |-
| |
| | :wq || Spara och avsluta
| |
| |}
| |