Come posso trascinare più righe in un registro?


44

Voglio strappare più righe in un unico registro in vim, per incollare facilmente diversi modelli di testo in un documento.

Ad esempio, "iyy strappa solo la riga corrente, se provo a selezionare più righe in modalità visiva, non viene scritta nel registro.

Eventuali suggerimenti?


"se provo a selezionare più righe in modalità visiva, non viene scritto nel registro." <- Davvero? Funziona per me ...
Billy ONeal,

e anche per me ...
ulidtko

ah ok, ho provato con "iyv, sciocco me. Dovrei essere Vjjj" mi piace come menzionato Ulidtko.
Ryz,

Risposte:


59

Utilizzare 3Yper trascinare 3 righe nel registro predefinito; "i3Yper aver tirato nel registro i.

Inoltre, il mio modo preferito non è contare le linee che voglio strappare, ma selezionarle in modalità visiva tramite Ve spostare i comandi, e quindi premere yper strapparle o "_yper strapparle in un registro.

Inoltre, ho appena provato a selezionare più righe in modalità Visual Line e a trascinare nel registro non predefinito, ad esempio Vjjj"oy- e funziona.


1
+1 - ma Vè la modalità Visual Line, vè la modalità visiva.
Billy ONeal,

ok, ok, giusto. Modalità linea visiva. %)
Ulidtko,

1
volentieri l'ho accettato, il modo più veloce per me ancora.
Ryz,

24

Da qualsiasi parte del file, è possibile utilizzare quanto segue.

:2,5y a

Righe 2 - 5. INTO REGISTER a

:7pu a

Incolla il registro a sotto la riga 7.


1
La domanda si poneva: "Come posso trascinare più righe in un registro ?" Si prega di mostrare come funzionano questi comandi con i registri.
Scott,

Spero che la mia modifica soddisfi la tua richiesta.
alock27,

Scusa no. La domanda menzionava esplicitamente "registra" ripetutamente, si riferiva a "incolla facilmente diversi modelli di testo" e forniva un esempio usando un registro non predefinito.
Scott,

3
@Scott Le mie scuse. Perché non hai semplicemente detto "Amico, controlla il tuo metodo con: reg. Vedrai che non funziona". E sarei stato tutto come "Whoa, mio ​​cattivo".
alock27

1
Stava cercando un modo per trascinare il file who in register + per copiarlo negli appunti di sistema. :% y + ha fatto il trucco, grazie.
AlexMA,

10

Utilizzare mper contrassegnare l'inizio, con un nome di buffer (quindi è possibile digitare mx). Spostare il cursore verso il basso nel punto in cui si desidera interrompere la copia e digitare y'x(o d'xse si taglia e si incolla). Quindi spostare il punto nel punto in cui si desidera incollare e digitare p.

Il cheat sheet del comando Vim


Sei sicuro di non voler dire di vno m?
Billy ONeal,

@BillyONeal 'v' avvia la modalità visiva e ti permette di fare la stessa cosa, 'm' è usato per "contrassegnare" una regione.
Nifle,

6

Prefisso il comando con un numero per ottenere il numero di righe su cui operare. Potresti anche usare un 'oggetto di testo' (come ']' per il blocco e ')' per il paragrafo) - funzionerebbe su più righe contestualmente - il default è spesso una singola riga. Ad esempio, "r5yytrascinerebbe cinque righe a partire dal cursore nel registro 'r'. (Oppure puoi digitare :.,+4y rper fare lo stesso in modalità ex.) Puoi anche combinare numeri con oggetti di testo; "r10y).


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.