Come copiare dalla posizione corrente alla fine della riga in vi


102

Uso gvim in Windows. Come copiare il testo dalla posizione corrente alla fine della riga in vi e incollarlo in un altro file aperto in vi. Ho cercato su Google ma non riesco a trovare alcuna soluzione per questo. Apprezzo qualsiasi aiuto su questo. Grazie.

Risposte:


155

Il comando in modalità normale per spostarsi alla fine della riga è $.

Puoi copiare alla fine della riga con y$e incollare con p.

Per copiare / incollare tra istanze diverse, è possibile utilizzare gli appunti di sistema selezionando il *registro, quindi i comandi diventano "*y$per copiare e "*pper incollare.

$ passare a interruzione di riga

$

y$ strappo alla linea

y,$

"*y$ seleziona appunti-registra yank-to-linebreak

", *, y,$

"*p selezionare incolla registro appunti

", *,p

Controlla :h registersper ulteriori informazioni.


Grazie. ma voglio incollare il contenuto in "un altro file" aperto in vi. Funziona solo con lo stesso file.
javalearner

4
Funzionerà per qualsiasi file aperto nella stessa istanza. È possibile copiare negli appunti di sistema selezionando il registro *(o +).
Don Reba

Perché i registri di sistema non possono lavorare ... non riesco a copiare il contesto in file1a file2. Ho ancora bisogno di usare il mouse. Quale potrebbe essere la ragione probabilmente?
Alston

8
Di solito uso Dper tagliare dalla posizione corrente alla fine e pincollare (recuperare) i dati originali, quindi spostarmi da qualche altra parte per incollare i dati estratti. Semplicemente perché è molto più facile digitare Drispetto a y$.
neevek

1
@PhilipRego, è y$, senza punto e virgola.
Don Reba

45

Se non vuoi includere l'interruzione di riga con lo strappo, puoi usare yg_. (O nel tuo caso, "*yg_)

Fondamentalmente, riconosci che c'è una differenza tra $e dal punto di vista del g_movimento. Mi ha aiutato in numerose occasioni.


3
C'è comunque da scambiare g_e $? Mi trovo raramente, se non mai, a dover includere l'interruzione di riga nei movimenti.
Jonathan Dumaine

1
SÌ! la nuova riga in più mi sta facendo impazzire. Queste sono le informazioni necessarie.
javadba

6
@JonathanDumaine nel tuo $MYVIMRCaggiungi la riganmap $ g_
thedanotto

@thedanotto bella persona
Jonathan Dumaine

9

Aggiungi questa riga al tuo .vimrc

" Make Y yank till end of line
nnoremap Y y$

Altro sul mio vimrc .


3

Una soluzione diversa: Dpe incollalo con p. In effetti, questa prima cancella fino alla fine della riga e la incolla di nuovo nella stessa posizione. Incollalo da qualche altra parte con p.


1
Perché non Du e lasciare il file non modificato? (nota: questo include la nuova linea)
gene
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.