# La VI Eniga Reĝimo

## VI Eniga Reĝimo

La celo de la VI-reĝimo estas ne esti kompleta anstataŭaĵo por Vim kaj subteni ĉiujn funkciojn de Vim. Ĝia celo estas disponigi la Vim-manieron de tekstoredaktado - kaj la lernitajn Vim-kutimojn - por programoj uzantaj la &kappname; tekstredaktilon kiel ilia interna redaktilo.

La VI-reĝimo celas integriĝi bele kun la programo kaj devii de la konduto de Vim kie ĝi havas sencon. Ekzemple, ``:w`` malfermos konservan dialogon en la VI-reĝimo de &kappname;.

Por ebligi la VI-Enigan Reĝimon por ĉiuj novaj vidoj, iru al Agordoj Agordi &kappname;... Redaktado VI-Enigo Reĝimo. Sur ĉi tiu langeto vi povas agordi opciojn por la VI Enigo-Reĝimo kaj difini kaj redakti la klavmapadon en ĉi tiu reĝimo. VI-Eniga Reĝimo ankaŭ povas esti ŝanĝita per la agordo VI-Eniga Reĝimo en la menuo Redakti. (La defaŭlta fulmoklavo estas &Meta;&Ctrl;V - kie &Meta; kutime estas la klavo Vindozo).

Multaj Vi-Reĝimaj klavarkomandoj estas usklecdistingaj, male al plej multaj &kde; klavaraj ŝparvojoj. Tio signifas, ke `y` kaj `Y` estas malsamaj ordonoj. Por enigi la komandon `y` (jank), certigu, ke Majuskloj estas malŝaltita kaj premu Y. Por enigi la komandon `Y` (tiri al fino de linio), &Shift;Y.

Ĉi tio ne validas por komandoj kiuj uzas la &Ctrl; klavo, kiu povas esti enigita sendepende de Majuskloj reĝimo kaj sen premado de &Shift;. Tamen, iuj komandoj postulas la uzon de &Ctrl;-klava kombinaĵo sekvita de alia klavo kiu distingas usklecon. Ekzemple, por enigi &Ctrl;W, `h` (ŝanĝu al dividita vido dekstre) certigu, ke Majuskloj estas malŝaltita, premu &Ctrl;W, maltenu, kaj poste premu H.

### Nekongruoj kun Vim

Estas nur kelkaj funkcioj de la VI-reĝimo de &kappname; kiuj estas nekongruaj kun Vim (sen kalkuli aferojn mankantajn). Ili estas listigitaj malsupre kune kun la respektivaj kialoj.

- &kappname;: Ambaŭ `U` kaj &Ctrl;R estas refari.

  Vim: &Ctrl;R estas normala refari, U estas uzata por malfari ĉiujn lastajn ŝanĝojn sur unu linio.

  La kialo por ke U agas kiel refari en la VI-reĝimo de &kappname; estas ke la ŝparvojo &Ctrl;R defaŭlte estas prenita de la anstataŭiga funkcio de &kappname; (serĉi kaj anstataŭigi). Defaŭlte, la VI-reĝimo ne anstataŭigos la ŝparvojojn de &kappname; (ĉi tio povas esti agordita en Agordoj Agordu &kappname;... Redaktado Vi Eniga Reĝimo), tial refara ago ankaŭ devas esti disponebla kiel regula klavopremo. Cetere, la konduto de la komando `U` en Vim ne bone mapas al la interna malfara sistemo de &kappname;, do estus ne bagatela subteni ĉiukaze.

- &kappname;: ``print`` montras la dialogon Presi.

  Vim: ``print`` presas la liniojn de la donita gamo kiel ĝia avo ed.

  Komandoj kiel ``:print`` estas disponeblaj ne nur en la VI-reĝimo sed ankaŭ por uzantoj uzantaj regula &kappname; - tial la ``:print`` komando malfermas la presitan dialogon - sekvante la principon de malplej surprizo anstataŭ imiti la konduton de Vim.

- &kappname;: `Y` tiras al la fino de linio.

  Vim: `Y` tiras tutan linion, same kiel `y` `y`.

  La konduto de VI por la komando `Y` estas praktike cimo. Por kaj ŝanĝi kaj forigi komandojn, `c` `c`/ `d` `d` faros sian agon sur la nuna linio kaj `C`/`D` funkcios de la kursora kolumno ĝis la fino de la linio. Tamen, kaj `y` `y` kaj `Y` tiras la nunan linion. En la VI-Reĝimo de &kappname; `Y` ektiros ĝis la fino de la linio. Ĉi tio estas priskribita kiel pli logika en la Vim-dokumentado.

- &kappname;: `O` kaj `o` malfermas [`kalkuli`] novajn liniojn kaj metas vin en enmetan reĝimon.

  Vim: `O` kaj `o` malfermas novan linion kaj enmetas tekston [`nombro`] fojojn kiam oni forlasas enmetreĝimon.

  Ĉi tio estas plejparte farita kiel konsekvenco de vidi ke multaj homoj estas konfuzitaj de ĉi tiu konduto sur vim &irc;-kanalo (#vim sur Libera Chat).

### Ŝanĝado de Reĝimoj

- Normala Reĝimo permesas vin enigi komandojn por navigi aŭ redakti dokumenton, kaj estas la defaŭlta reĝimo. Vi povas reveni al ĝi de iu ajn alia reĝimo premante &Esc;.

- Vida Reĝimo permesas vin reliefigi tekston en dokumento. Plej multaj normalaj komandoj ankaŭ validas en ĉi tiu reĝimo. Vi povas enigi ĝin premante `v` por elekti signojn aŭ `V` por elekti liniojn.

- Enmeta Reĝimo permesas rekte redakti la dokumenton. Vi povas enigi ĝin premante `i` aŭ unu el pluraj aliaj komandoj listigitaj sube.

- Komanda Reĝimo alvokas la komandlinion de &kappname;, permesante al vi ruli multajn komandojn disponeblajn en Vi-efektivigoj same kiel iujn specifajn por &kappname;. Por pliaj informoj pri ĉi tiuj komandoj, vidu advanced-editing-tools-commandline. Por uzi ĝin, premu :, enigu la komandon, kaj premu &Enter;.

### Integriĝo kun trajtoj de &kate;

- Vida Reĝimo estas enirita aŭtomate kiam teksto estas elektita per la muso. Ĝi ankaŭ estas enigita kiam oni uzas funkciojn de &kate; kiuj elektas tekston, kiel Elekti Ĉion (ĉu el la menuo aŭ per &Ctrl;A .)

- Vi markoj kaj &kate; legosignoj estas integritaj. Kiam marko estas kreita en Vi Mode, responda &kate; legosigno estas kreita kaj aperas en la menuo Legosignoj. Male, kiam &kate; legosigno estas kreita, responda Vi-marko ĉe la 0 kolumno ankaŭ estas kreita.

### Subtenataj normalaj/vidaj reĝimaj komandoj

`a` | Eniri Enmetan Reĝimon; aldoni post kursoro
`A` | Eniri Enmetan Reĝimon; aldoni post linio
`i` | Eniri Enmetan Reĝimon; enmeti antaŭ kursoro
&Ins; | Eniri Enmetan Reĝimon; enmeti antaŭ kursoro
`I` | Eniri Enmetan Reĝimon; enmeti antaŭ la unua nemalplena signo en linio
`gi` | Eniri Enmetan Reĝimon; enmeti antaŭ loko, kie lasante la lastan enmetreĝimon
`v` | Eniri Vidan Reĝimon; elekti signojn
`V` | Eniri Vidan Reĝimon; elekti liniojn
&Ctrl;v | Eniri Vidan Reĝimon; elekti blokojn
`gb` | Eniri Vidan Reĝimon; elekti la lastan elekton
`o` | Malfermi novan linion sub la nuna linio
`O` | Malfermi novan linion super la nuna linio
`J` | Kunigi liniojn
`c` | Ŝanĝo: sekvi movon por forigi kaj eniri Enmetan reĝimon
`C` | Ŝanĝi al fino de linio: Forigi al fino de linio kaj eniri Enmetan Reĝimon
`cc` | Ŝanĝi linion: Forigi linion kaj eniri Insert Mode
`s` | Anstataŭigi signon
`S` | Anstataŭigi linion
`dd` | Forigi linion
`d` | Sekvi per movo por forigi
`D` | Forigi ĝis fino de linio
`x` | Forigi signon dekstre de kursoro
∇ | Forigi signon dekstre de kursoro
`X` | Forigi signon maldekstre de la kursoro
`gu` | Sekvi per movo por fari minusklojn
`guu` | Igi la nunan linion minuskla
`gU` | Sekvi per movo por fari majusklojn
`gUU` | Igi la nunan linion majuskla
`y` | Sekvi per movo por tiri (kopii)
`yy` | Yank (kopii) linion
`Y` | Yank (kopii) linion
`p` | Alglui post kursoro
`P` | Alglui antaŭ kursoro
`]p` | Alglui post kursoro indentigita
`[p` | Alglui antaŭ la kursoro indentigita
`r` | Sekvi per signo por anstataŭigi la signon post la kursoro
`R` | Eniri Anstataŭigan Reĝimon
`:` | Eniri Komandan Reĝimon
`/` | Serĉi
`u` | Malfari
&Ctrl;R | Refari
`U` | Refari
`m` | Agordi markon (povas esti uzata per movoj poste)
`n` | Trovi sekvan
`N` | Trovi antaŭan
`>>` | Deŝovi linion
`<<` | Maldeŝovi linion
`>` | Deŝovi liniojn
`<` | Maldeŝovi liniojn
&Ctrl;F | Paĝon malsupren
&Ctrl;B | Paĝon supren
`ga` | Presi la &ASCII;-valoron de la signo
`.` | Ripeti la lastan ŝanĝon
`==` | komandoAlignLine
`=` | komandoAlignLines
`~` | Ŝanĝi usklecon de aktuala signo
&Ctrl;S | Dividi vidon horizontale
&Ctrl;V | Dividi vidon vertikale
&Ctrl; W, `w` | Cikli al la sekva dividita fenestro
&Ctrl; W, `h` &Ctrl; W&Left; | Iri al maldekstra dividita fenestro
&Ctrl; W, `l` &Ctrl; W&Right; | Iri al dekstra dividita fenestro
&Ctrl; W, `k` &Ctrl; W&Up; | Iri al la supra dividita fenestro
&Ctrl; W, `j` &Ctrl; W&Down; | Iri al la malsupra dividita fenestro

### Subtenataj movoj

Ĉi tiuj povas esti uzataj por movi dokumenton en Normala aŭ Vida reĝimo, aŭ kune kun unu el la supraj komandoj. Ili povas esti antaŭitaj de kalkulo, kiu indikas kiom da la taŭgaj movoj fari.

`h` | Maldekstre
&Left; | Maldekstre
&Backspace; | Maldekstre
`j` | Suben
&Down; | Suben
`k` | Supren
&Up; | Supren
`l` | Dekstren
&Right; | Dekstren
&Space; | Dekstren
`$` | Fino de linio
&End; | Fino de linio
`0` | Unua signo de linio (Kolumno 0)
&Home; | Unua signo de linio
`^` | Unua nemalplena signo de linio
`f` | Sekvi per signo por movi dekstren de la kursoro
`IF` | Sekvi per signo por movi maldekstren de la kursoro
`t` | Sekvi per signo por movi dekstren de kursoro, metante la kursoron sur signon antaŭ ĝi
`T` | Sekvi per signo por movi maldekstren de kursoro, metante la kursoron sur signon antaŭ ĝi
`gg` | Unua linio
`G` | Lasta linio
`w` | Sekva Vorto
`W` | Sekva vorto apartigita per blankspaco
`b` | Antaŭa vorto
`B` | Antaŭa vorto apartigita per blankspaco
`e` | Fino de vorto
`E` | Fino de vorto apartigita per blankspaco
`ge` | Fino de antaŭa vorto
`gE` | Fino de antaŭa vorto apartigita per blankspaco
`|` | Sekvi kolumnon por moviĝi al tiu kolumno
`%` | Sekvi eron por moviĝi al tiu aĵo
``` | Marki
`‘` | Unua ne-blankspaco de la linio, sur kiu la marko estas
`[[` | Antaŭa malferma krampo
`]]` | Sekva malferma krampo
`[]` | Antaŭa ferma krampo
`][` | Sekva ferma krampo
&Ctrl;I | Salti al la sekva loko
&Ctrl;O | Salti al antaŭa loko
`H` | Iri al la unua linio de ekrano
`M` | Iri al meza linio de ekrano
`L` | Iri al la lasta linio de ekrano
`%`procento`` | Iri al specifita procento de la dokumento
`gk` | Iri unu vicon vide (kiam vi uzas dinamikan vortvolvaĵon)
`gj` | Iri unu linion malsupren vide (kiam vi uzas dinamikan vortvolvaĵon)
&Ctrl;&Left; | Movi unu vorton maldekstren
&Ctrl;&Right; | Movi unu vorton dekstren

### Subtenataj tekstaj objektoj

Ĉi tiuj povas esti uzataj por elekti iujn partojn de dokumento.

`se` | Interna vorto: vorto inkluzive de blankspaco
`kiel` | Vorto: vorto ekskludante blankspacon
`en"` | Antaŭa citilo (`"`) al sekva duobla citilo, inkluzive de citiloj
`a”` | Antaŭa citilo (`"`) al sekva duobla citilo, krom citiloj
`en'` | Antaŭa unucitilo (`'`) al la sekva unucitilo, inkluzive de citiloj
`a'` | Antaŭa unucitilo (`'`) al la sekva unucitilo, krom citiloj
`en(` | Antaŭa malferma krampo [`(`] al sekva ferma krampo [`)`], inkluzive de la krampo
`a(` | Antaŭa malferma krampo [`(`] al sekva ferma krampo [`)`], ekskludante la krampon
`en[` | Antaŭa malferma kvadrata krampo (`[`) al venonta ferma kvadrata krampo (`]`), inkluzive de la krampoj
`a[` | Antaŭa malferma kvadrata krampo (`[`) al la sekva ferma kvadrata krampo (`]`), ekskludante la krampojn
`i{` | Antaŭa malferma buklokrampo (`{`) al sekva ferma krampo (`}`), inkluzive de la krampoj
`a{` | Antaŭa malferma krampo (`{`) al venonta ferma krampo (`}`), ekskludante la krampojn
`i<` | Antaŭa malferma angula krampo (`<`) al venonta ferma angula krampo (`>`), inkluzive de la krampoj
`a<` | Antaŭa malferma angula krampo (`<`) al la sekva ferma kvadrata krampo (`>`), ekskludante la krampojn
`en`` | Antaŭa retromarko (```) al sekva malantaŭa markilo, inkluzive de la malantaŭo
`a`` | Antaŭa retromarko (```) al sekva malantaŭa markilo, ekskludante la malantaŭajn markojn

### Subtenataj enmetaj reĝimaj komandoj

&Ctrl;D | Unindent
&Ctrl;T | Indent
&Ctrl;E | Enigi de malsupre
&Ctrl;Y | Forigi vorton
&Ctrl;W | Forigi vorton
&Ctrl;U | Forigi linion
&Ctrl;J | Nova linio
&Ctrl;H | Forigi char malantaŭen
&Ctrl;&Home; | Movi al la unua signo en la dokumento
&Ctrl;R `n` | Enmeti la enhavon de registro `n`
&Ctrl;O, `komando` | Enigu normalan reĝimon nur por unu komando
&Ctrl;A | Pliigi aktuale elektitan nombron
&Ctrl;X | Malpliigi aktuale elektitan nombron

### La Koma Tekstobjekto

Ĉi tiu objekto mankas en Vim. La koma tekstobjekto faciligas modifi parametrajn listojn en C-similaj lingvoj kaj aliaj komo-disigitaj listoj. Ĝi estas esence la areo inter du komoj aŭ inter komo kaj krampo. En la linio montrita en la ilustraĵo, la tri intervaloj kiujn ĉi tiu tekstobjekto povas etendi estas elstarigitaj.

Ekzemplo de Koma Tekst-Objekto Ekzemplo de Koma Tekstobjekto

Koma teksto-objektaj gamoj. Se la kursoro estas super ⪚ `arg2`, premante `ci`, (ŝanĝi internan komon) forigus `duoblan arg2` kaj metus la kursoron inter la du komojn en enmeta reĝimo. Tre oportuna maniero ŝanĝi la parametrojn de funkcio.

### Mankantaj Trajtoj

Kiel dirite antaŭe, la celo de la VI-Reĝimo de &kappname; estas ne subteni 100% de la funkcioj de Vim.