Joskus olen järjestelmässä, jossa ei ole Vimiä, ja käytän oletusarvoista nvi
(BSD-järjestelmät) tai alkuperäinen vi
(Arch Linux).
Eroja on melko vähän, mutta suurin ärsytys on, että voin kumota vain omat viimeinen toimenpide. Painamalla u toista kertaa teokset ovat ”uudelleenkäynnistys”.
Onko jollain tapaa saada tämä toimimaan?
Vastaa
Lähettäjä nvi(1)
:
u Undo the last change made to the file. If repeated, the u command alternates between these two states. The . command, when used immediately after u, causes the change log to be rolled forward or backward, depending on the action of the u command.
Paina siis u ja paina sitten . lisää kumoaaksesi; Jos painat u taas, se ”kääntää” suunnan ja painaa . tulee olemaan uudelleen.
En koskaan tiennyt tästä vasta eilen; ja ajattelin, että se oli jotenkin uusi ominaisuus, mutta näyttää siltä, että se on toiminut tällä tavoin, koska ainakin nvi 1.79 vuodesta 1996 .
Tämä ei ”t toimi alkuperäinen vi ; missä kumoaminen dokumentoidaan:
u Undoes the last change made to the current buffer. If repeated, will alternate between these two states, thus is its own inverse. When used after an insert which inserted text on more than one line, the lines are saved in the numeric named buffers (3.5).
Mikä on todella monimutkainen tapa sanoa, että u -näppäimen painaminen uudelleen tekee muutokset uudelleen.
Mikä on myös mitä Vim ”s :help undo
sanoo (ja miksi oletin, että se ei myöskään toimi nvi
):
u Undo [count] changes. {Vi: only one level}
Vastaa
Lähin asia, mikä alkuperäinen vi
on kumottava useita (lukuun ottamatta U
, joka voi peruuttaa useita muutoksia yhdellä rivillä) on numeroitu rekisteri, johon on tallennettu yhdeksän viimeisintä muutosta tai poistoja.
Jos laitat numeroidusta rekisteristä, seuraavat pistekomennot lisäävät rekisteriä, kun se toistaa komennon.
Esim. seuraavan tekstin kanssa, kohdistinrivillä >
,
aaaa > bbbb cccc dddd eeee
komento dd..
johtaa:
aaaa > eeee
Jos kirjoitat "1P
, vi laittaa viimeisin poisto rekisteristä "1
:
aaaa > dddd eeee
Osuma .
laittaa seuraavan viimeisimmän rekisterin sisällön tekemällä "2P
ja painamalla .
uudelleen, rekisterin "3
.
Lyhyesti sanottuna "P..
palauttaa kaiken poistamasi tekstin, jolloin sinulle jää
aaaa > bbbb cccc dddd eeee
Ei loistava, mutta parempi kuin ei mitään! Hyödyllisemmin voit käyttää sitä puskurin alussa tai lopussa tarkistaaksesi nopeasti numeroiduissa rekistereissäsi olevat tiedot. Sitten voit helposti poistaa mitä et tarvitse.
Se on dokumentoitu VIM: ssä. kohdassa :help redo-register
.
Vastaa
Käytä alkuperäistä vi-näppäintä ja paina [n] u palata n askelta taaksepäin. Jos haluat palata asteittain taaksepäin …
- paina [n] u palataksesi n askelta taaksepäin
- sitten paina [n] u tehdä n askelta uudelleen
- paina sitten [n + 1] u palataksesi takaisin [n + 1] vaihetta
- jne.
u
-toiminnolla tai palauttaa yhden rivin siihen, miten se oli ennen kuin aloitit sen muokkaamisenU
-palvelun avulla.