2012-05-15 13 views
8

Ho un section in file1 che dovrebbe essere spostato in file2. Normalmente lo fare selezionando visivamente il blocco, cancellandolo, :wq da file1, aperto file2, quindi incollato.Sposta la sezione in un nuovo file in vim

C'è un modo semplice per spostare un blocco di testo da file a file2 senza chiudere vim?

risposta

5

È possibile aprire il nuovo file in uno split utilizzando :sp newfile e quindi eliminare il blocco normalmente dal primo file. Quindi, passare all'altro split con ctrlw e w. Quindi utilizzare p per inserire il contenuto eliminato nell'altro file.

2

È possibile aprire il file in un nuovo buffer.

basta aprire il file tramite :e file2 e incollare il testo. Per spostarsi rapidamente tra i buffer utilizzare sia :e # o :b #

vedono :help buffers per ulteriori informazioni

2

Dal momento che nessuno ha detto che: è possibile utilizzare le schede, invece.

  1. Seleziona il tuo blocco.

  2. Cancellare con d

  3. Creare un nuovo buffer in una nuova scheda con :tabnew newfile.name

  4. Incollarlo e salvarlo con p e :w

  5. È possibile tornare indietro con gT o chiudere scheda corrente con :q

Personalmente più recente uso buffer - solo schede. Per saperne di più su di loro in :help tabpage

20

alternativa:

  1. selezione scrittura al nuovo file :'<,'>w file2

  2. quindi riselezionare e cancellare con gvd

Il primo passo è coperto in vimtutorLesson 5.3: SELECTING TEXT TO WRITE.

+2

Ottima risposta. Penso che questo dovrebbe essere quello corretto. – ifightcrime

+2

In alternativa per aggiungere a un file usare ': '<,'>! Cat >> other_file' – Frank

Problemi correlati