MNV(1)

NAMN
mnv - MNV is not Vim, en textredigerare för programmerare

SYNOPSIS
mnv [flaggor] [fil ..]
mnv [flaggor] -
mnv [flaggor] -t tagg
mnv [flaggor] -q [felfil]

ex
view
gmnv gview emnv eview
rmnv rview rgmnv rgview

BESKRIVNING
MNV är en textredigerare som är uppåtkompatibel med Vi. Den kan användas för att redigera alla typer av ren text. Den är särskilt användbar för att redigera program.

Det finns många förbättringar jämfört med Vi: ångra på flera nivåer, flera fönster och buffertar, syntaxmarkering, redigering av kommandoraden, komplettering av filnamn, onlinehjälp, visuellt val osv. Se ":help vi_diff.txt" för en sammanfattning av skillnaderna mellan MNV och Vi.

När du kör MNV kan du få mycket hjälp från online-hjälpsystemet med kommandot ":help". Se avsnittet ONLINEHJÄLP nedan.

Oftast startas MNV för att redigera en enskild fil med kommandot

  mnv fil

Mer generellt startas MNV med:

  mnv [flaggor] [fillista]

Om filförteckningen saknas startar redigeraren med en tom buffert. Annars kan exakt en av följande fyra användas för att välja en eller flera filer som ska redigeras.

fil ..
    En lista med filnamn. Den första filen är den aktuella filen och läses in i buffertminnet. Markören placeras på den första raden i buffertminnet. Du kan komma åt de andra filerna med kommandot ":next". För att redigera en fil som börjar med ett bindestreck, lägg till "--" före filnamnslistan.

-   Filen som ska redigeras läses från stdin. Kommandon läses från stderr, som bör vara en tty.

-t {tag}
    Filen som ska redigeras och den initiala markörpositionen beror på en "tagg", en sorts goto-etikett. {tag} söks upp i taggfilen, den associerade filen blir den aktuella filen och det associerade kommandot exekveras. Detta används främst för C-program, där {tag} kan vara ett funktionsnamn. Effekten blir att filen som innehåller den funktionen blir den aktuella filen och markören placeras i början av funktionen. Se ":help tag-commands".

-q [felfil]
    Starta i quickFix-läge. Filen [errorfile] läses och det första felet visas. Om [errorfile] utelämnas hämtas filnamnet från flaggan 'errorfile' (standard är "AztecC.Err" för Amiga, "errors.err" på andra system). Ytterligare fel kan hoppas till med kommandot ":cn". Se ":help quickfix".

MNV en fungerar olika beroende på kommandots namn (den körbara filen kan fortfarande vara samma fil).

mnv Det "normala" sättet, allt är standard.

ex  Starta i Ex-läge. Gå till normalt läge med kommandot ":vi". Kan även göras med argumentet "-e".

view
    Starta i skrivskyddat läge. Du kommer att skyddas från att skriva filerna. Kan också göras med argumentet "-R".

gmnv gview
    GUI-versionen. Öppnar ett nytt fönster. Kan även göras med argumentet "-g".

emnv eview
    GUI-versionen i enkelt läge. Öppnar ett nytt fönster. Kan även göras med argumentet "-y".

rmnv rview rgmnv rgview
    Som ovan, men med begränsningar. Det går inte att starta shell-kommandon eller pausa MNV. Kan också göras med argumentet "-Z".

FLAGGOR
Flaggorna kan anges i valfri ordning, före eller efter filnamnen. Flaggor utan argument kan kombineras efter ett enda bindestreck.

+[num]
    För den första filen placeras markören på raden "num". Om "num" saknas placeras markören på den sista raden.

+/{pat}
    För den första filen placeras markören på raden där {pat} förekommer första gången. Se ":help search-pattern" för tillgängliga sökmönster.

+{command}

-c {command}
    {command} kommer att utföras efter att den första filen har lästs. {command} tolkas som ett Ex-kommando. Om {command} innehåller mellanslag måste det omges av dubbla citattecken (detta beror på vilket skal som används). Exempel: mnv "+set si" main.c
    Obs! Du kan använda upp till 10 "+" eller "-c"-kommandon.

-A  Om MNV har kompilerats med ARABIC-stöd för redigering av filer med skrivriktning från höger till vänster och arabisk tangentbordskartläggning, startar denna flagga MNV i arabiskt läge, dvs. 'arabic' är inställt. I annat fall visas ett felmeddelande och MNV avbryts.

-b  Binärt läge. Några flaggor kommer att ställas in som gör det möjligt att redigera en binär eller körbar fil.

-C  Kompatibel. Ställ in flaggan "compatible". Detta gör att MNV beter sig ungefär som Vi, även om det finns en .mnvrc-fil.

-d  Starta i diff-läge. Det bör finnas mellan två och åtta filnamnsargument. MNV öppnar alla filer och visar skillnaderna mellan dem. Fungerar som mnvdiff(1).

-d {device}, -dev {device}
    Öppna {device} för användning som terminal. Endast på Amiga. Exempel: "-d con:20/30/600/150".

-D  Felsökning. Gå till felsökningsläge när du kör det första kommandot från ett skript.

-e  Starta MNV i Ex-läge, precis som om den körbara filen hette "ex".

-E  Starta MNV i förbättrat Ex-läge, precis som om den körbara filen hette "exim".

-f  Förgrund. För grafiska gränssnittsversionen kommer MNV inte att förgrena sig och kopplas bort från det skal det startades i. På Amiga startas inte MNV om för att öppna ett nytt fönster. Denna flagga bör användas när MNV körs av ett program som väntar på att redigeringssessionen ska avslutas (t.ex. e-post). På Amiga fungerar inte kommandona ":sh" och ":!".

-F  Om MNV har kompilerats med FKMAP-stöd för redigering av filer med skrivriktning från höger till vänster och persisk tangentbordskartläggning, startar denna flagga MNV i persiskt läge, dvs. 'fkmap' och 'rightleft' är inställda. I annat fall visas ett felmeddelande och MNV avbryts.
    Obs: Stöd för farsi har tagits bort i patch 8.1.0932.

-g  Om MNV har kompilerats med GUI-stöd aktiverar denna flagga grafiskt gränssnitt. Om inget stöd för grafiskt gränssnitt har kompilerats in visas ett felmeddelande och MNV avbryts.

-H  Om MNV har kompilerats med RIGHTLEFT-stöd för redigering av filer med höger-till-vänster-orientering och hebreisk tangentbordskartläggning, startar denna flagga MNV i hebreiskt läge, dvs. 'hkmap' och 'rightleft' är inställda. I annat fall visas ett felmeddelande och MNV avbryts.

-i {mnvinfo}
    Anger filnamnet som ska användas vid läsning eller skrivning av mnvinfo-filen, istället för standardnamnet "~/.mnvinfo". Detta kan också användas för att hoppa över användningen av .mnvinfo-filen genom att ange namnet "NONE".

-l  Lisp-läge. Aktiverar flaggorna "lisp" och "showmatch".

-L  Samma som -r.

-m  Ändring av filer är inaktiverad. Återställer flaggan "write". Du kan fortfarande ändra buffertminnet, men det går inte att skriva en fil.

-M  Ändringar är inte tillåtna. Flaggorna "modifiable" och "write" kommer att inaktiveras, så att ändringar inte är tillåtna och filer inte kan skrivas. Observera att dessa flaggor kan aktiveras för att möjliggöra ändringar.

-n  Ingen växlingsfil kommer att användas. Återställning efter en krasch kommer att vara omöjlig. Praktiskt om du vill redigera en fil på ett mycket långsamt medium (t.ex. diskett). Kan också göras med ":set uc=0". Kan ångras med ":set uc=200".

-N  Icke-kompatibelt läge. Återställer flaggan "compatible". Detta gör att MNV fungerar något bättre, men är mindre kompatibelt med Vi, även om det inte finns någon .mnvrc-fil.

-nb Bli redigeringsserver för NetBeans. Se dokumentationen för mer information.

-o[N]
    Öppna N staplade fönster. Om N utelämnas öppnas ett fönster för varje fil.

-O[N]
    Öppna N fönster bredvid varandra. Om N utelämnas öppnas ett fönster för varje fil.

-p[N]
    Öppna N flikar. Om N utelämnas öppnas en flik för varje fil.

-P {parent-title}
    Endast Win32 GUI: Ange titeln på den överordnade applikationen. När det är möjligt kommer MNV att köras i ett MDI-fönster inuti applikationen. {parent-title} måste visas i fönstertiteln för den överordnade applikationen. Se till att den är tillräckligt specifik. Observera att implementeringen fortfarande är primitiv. Den fungerar inte med alla applikationer och menyn fungerar inte.

-r  Lista växlingsfiler, med information om hur de används för återställning.

-r {file}
    Återställningsläge. Swap-filen används för att återställa en kraschad redigeringssession. Swap-filen är en fil med samma filnamn som textfilen med ".swp" tillagt. Se ":help recovery".

-R  Skrivskyddat läge. Flaggan 'readonly' kommer att aktiveras. Du kan fortfarande redigera buffertminnet, men du kommer inte att kunna skriva över en fil av misstag. Om du vill skriva över en fil, lägg till ett utropstecken till Ex-kommandot, som i ":w!". Flaggan -R innebär också flaggan -n (se ovan). Flaggan "readonly" kan återställas med ":set noro". Se ":help 'readonly'".

-s  Tyst läge. Endast när det startas som "Ex" eller när flaggan "-e" angavs före flaggan "-s".

-s {scriptin}
    Skriptfilen {scriptin} läses. Tecknen i filen tolkas som om du hade skrivit dem. Samma sak kan göras med kommandot ":source! {scriptin}". Om slutet av filen nås innan redigeraren avslutas läses ytterligare tecken från tangentbordet.

-S {file}
    {file} hämtas efter att den första filen har lästs. Detta motsvarar -c "source {file}". {file} får inte börja med '-'. Om {file} utelämnas används "Session.mnv" (fungerar endast när -S är det sista argumentet).

-T {terminal}
    Anger namnet på den terminal du använder för MNV. Krävs endast när den automatiska metoden inte fungerar. Bör vara en terminal som är känd för MNV (inbyggd) eller definierad i termcap- eller terminfo-filen.

-u {mnvrc}
    Använd kommandona i filen {mnvrc} för initialiseringar. Alla andra initialiseringar hoppas över. Använd detta för att redigera en speciell typ av filer. Det kan också användas för att hoppa över alla initialiseringar genom att ange namnet "NONE". Se ":help initialization" i mnv för mer information.

-U {gmnvrc}
    Använd kommandona i filen {gmnvrc} för GUI-initialiseringar. Alla andra GUI-initialiseringar hoppas över. Det kan också användas för att hoppa över alla GUI-initialiseringar genom att ange namnet "NONE". Se ":help gui-init" i mnv för mer information.

-v  Starta MNV i Vi-läge, precis som om det körbara programmet hette "vi". Detta har endast effekt när det körbara programmet heter "ex".

-V[N]
    Utförlig. Ger meddelanden om vilka filer som hämtas och för läsning och skrivning av en mnvinfo-fil. Det valfria talet N är värdet för 'verbose'. Standardvärdet är 10.

-V[N]{filename}
    Som -V och ställ in 'verbosefile' till {filename}. Resultatet blir att meddelanden inte visas utan skrivs till filen {filename}. {filename} får inte börja med en siffra.

-w{number}
    Ställ in flaggan "window" till {number}.

-w {scriptout}
    Alla tecken som du skriver in sparas i filen {scriptout} tills du avslutar MNV. Detta är användbart om du vill skapa en skriptfil som ska användas med "mnv -s" eller ":source!". Om filen {scriptout} finns, läggs tecknen till i slutet av den.

-W {scriptout}
    Som -w, men en befintlig fil skrivs över.

-x  Om MNV har kompilerats med krypteringsstöd, använd kryptering när du skriver filer. Du kommer att bli ombedd att ange en krypteringsnyckel.

-X  Anslut inte till X-servern. Förkortar starttiden i en terminal, men fönstertiteln och urklipp kommer inte att användas.

-Y  Anslut inte till Wayland Compositor

-y  Starta MNV i enkelt läge, precis som om den körbara filen hette "emnv" eller "eview". Gör att MNV beter sig som en klick-och-skriv-editor.

-Z  Begränsat läge. Fungerar som om den körbara filen börjar med "r".

Anger slutet på flaggorna.  Argument efter detta kommer att behandlas som
    ett filnamn. Detta kan användas för att redigera ett filnamn som börjar med ett '-'.

--clean
    Använd inte några personliga inställningar (mnvrc, plugins etc.). Användbart för att se om ett problem uppstår även med en ren MNV-installation.

--cmd {command}
    Som att använda "-c", men kommandot exekveras precis innan någon mnvrc-fil bearbetas. Du kan använda upp till 10 av dessa kommandon, oberoende av "-c"-kommandon.

--echo-wid
    Endast grafiskt GTK-gränssnitt: Skriv ut fönster-id på stdout.

--gui-dialog-file {name}
    När du använder GUI, istället för att visa en dialogruta, skriv titeln och meddelandet i dialogrutan till fil {name}. Filen skapas eller läggs till. Endast användbart för testning, för att undvika att testet fastnar i en dialogruta som inte kan ses. Utan GUI ignoreras argumentet.

--help, -h, -?
    Ge lite hjälp om kommandoradsargument och flaggor. Efter detta avslutas MNV.

--literal
    Ta filnamnsargument bokstavligt, expandera inte jokertecken. Detta har ingen effekt på Unix där skalet expanderar jokertecken.

--log {filename}
    Om MNV har kompilerats med eval- och kanal-funktionen, starta loggningen och skriv poster till {filename}. Detta fungerar som att anropa ch_logfile({filename}, 'ao') mycket tidigt under uppstarten.

--nofork
    Förgrund. För grafiska gränssnittsversionen kommer MNV inte att förgrena sig och kopplas bort från det skal det startades i.

--noplugin
    Hoppa över inläsning av plugins. Implicerat av -u NONE.

--not-a-term
    Meddelar MNV en att användaren vet att in- och/eller utgången inte är ansluten till en terminal. Detta förhindrar varningen och den två sekunders fördröjning som skulle inträffa.

--remote
    Anslut till en MNV-server och låt den redigera filerna som anges i resten av argumenten. Om ingen server hittas visas en varning och filerna redigeras i den aktuella MNV.

--remote-expr {expr}
    Anslut till en MNV-server, utvärdera {expr} i den och skriv ut resultatet på stdout.

--remote-send {keys}
    Anslut till en MNV-server och skicka {keys} till den.

--remote-silent
    Som --remote, men utan varningen när ingen server hittas.

--remote-wait
    Som --remote, men MNV avslutas inte förrän filerna har redigerats.

--remote-wait-silent
    Som --remote-wait, men utan varningen när ingen server hittas.

--serverlist
    Lista namnen på alla MNV-servrar som kan hittas.

--servername {name}
    Använd {name} som servernamn. Används för den aktuella MNV, såvida det inte används med ett --remote-argument, då är det namnet på servern som ska anslutas till. Om socketserver-backend används och namnet börjar med "/", "./" eller "../", tolkas det som en absolut, relativ eller relativ sökväg till socketen.

--clientserver {backend}
    Använd {backend} som backend för clientserver-funktionalitet, antingen "socket" eller "x11". Endast tillgängligt när det kompilerats med både socketserver- och X11-funktioner

--socketid {id}
    Endast grafiskt GTK-gränssnitt: Använd GtkPlug-mekanismen för att köra gMNV i ett annat fönster.

--startuptime {file}
    Skriv tidsmeddelanden till filen {fname} under uppstart.

--ttyfail
    Om stdin eller stdout inte är en terminal (tty) ska programmet avslutas omedelbart.

--version
    Skriv ut versioninformation och avsluta.

--windowid {id}
    Endast Win32 GUI: Få gMNV att försöka använda fönstret {id} som överordnat fönster, så att det körs inuti det fönstret.

ONLINEHJÄLP
Skriv ":help" i MNV en för att komma igång. Skriv ":help ämne" för att få hjälp om ett specifikt ämne. Till exempel: ":help ZZ" för att få hjälp om kommandot "ZZ". Använd <, Tab-> och CTRL-D för att komplettera ämnen (":help cmdline-completion"). Taggar finns för att hoppa från en plats till en annan (en sorts hypertextlänkar, se ":help"). Alla dokumentationsfiler kan visas på detta sätt, till exempel ":help syntax.txt".

FILER

/usr/local/share/mnv/mnv??/doc/*.txt
    MNV -dokumentationsfilerna. Använd ":help doc-file-list" för att få en komplett lista.
    mnv?? är ett kort versionsnummer, till exempel mnv91 för MNV 9.1

/usr/local/share/mnv/mnv??/doc/tags
    Taggfilen som används för att hitta information i dokumentationsfilerna.

/usr/local/share/mnv/mnv??/syntax/syntax.mnv
    Systemomfattande syntaxinitialiseringar.

/usr/local/share/mnv/mnv??/syntax/*.mnv
    Syntaxfiler för olika språk.

/usr/local/share/mnv/mnvrc
    Systemomfattande initialiseringar av MNV.

~/.mnvrc, ~/.mnv/mnvrc, $XDG_CONFIG_HOME/mnv/mnvrc
    Dina personliga MNV -initialiseringar (den första som hittas används).

/usr/local/share/mnv/gmnvrc
    Systemomfattande gmnv-initialiseringar.

~/.gmnvrc, ~/.mnv/gmnvrc, $XDG_CONFIG_HOME/mnv/gmnvrc
    Dina personliga gMNV -initialiseringar (den första som hittas används).

/usr/local/share/mnv/mnv??/optwin.mnv
    Skript som används för kommandot ":options", ett smidigt sätt att visa och ställa in flaggor.

/usr/local/share/mnv/mnv??/menu.mnv
    Systemomfattande menyinitialiseringar för gMNV.

/usr/local/share/mnv/mnv??/bugreport.mnv
    Skript för att generera en felrapport. Se ":help bugs".

/usr/local/share/mnv/mnv??/filetype.mnv
    Skript för att identifiera filtyp utifrån filnamn. Se ":help 'filetype'".

/usr/local/share/mnv/mnv??/scripts.mnv
    Skript för att identifiera filtypen utifrån dess innehåll. Se ":help 'filetype'".

/usr/local/share/mnv/mnv??/print/*.ps
    Filer som används för PostScript-utskrift.

För aktuell information, läs på MNV:s webbsida:
<URL:http://www.mnv.org/>

SE ÄVEN
mnvtutor(1)

UPPHOVSPERSON
Det mesta av MNV har skapats av Bram Moolenaar, med stor hjälp från andra. Se ":help credits" i MNV.
MNV är baserad på Stevie, utvecklad av: Tim Thompson, Tony Andrews och G.R. (Fred) Walter. Även om nästan ingen av den ursprungliga koden finns kvar.

BUGGAR
Troligen. Se ":help todo" för en lista över kända problem.

Observera att ett antal saker som vissa kan betrakta som buggar i själva verket beror på att Vi:s beteende reproduceras alltför troget. Och om du tycker att andra saker är buggar "eftersom Vi gör det annorlunda" bör du titta närmare på filen vi_diff.txt (eller skriva :help vi_diff.txt när du är i MNV). Titta också på flaggorna 'compatible' och 'cpoptions'.

SVENSK ÖVERSÄTTNING
MNV översattes ursprungligen av Johan Svedberg 2003-2007 och har under 2025 uppdaterats av Daniel Nylander, speciellt manualsidor samt själva MNV. Om du hittar fel i översättningen, kontakta <tp-sv@listor.tp-sv.se>.