Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Aug 2014 12:51:06 +0100
From:      Rodney Lewis <rodney.lewis@tortoiseblog.com>
To:        Jamie Griffin <griffin8j@gmail.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>, owner-freebsd-questions@freebsd.org
Subject:   Re: Moving Text In vi(1) To Another File
Message-ID:  <782f4b6466266500ebcc15173fef385b@tortoiseblog.com>
In-Reply-To: <540037DE.4030404@gmail.com>
References:  <540037DE.4030404@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2014-08-29 09:20, Jamie Griffin wrote:

> What is the best way to copy large sections of text in a file and copy 
> it to another file, possibly a new file or not. Is vi even the best 
> utility to do that?
> 
> I have the source file open; I yank the text region then, do I open a 
> new file/buffer first or is there a command to 'redirect' the data to?


There are several ways to do this but I prefer the old ex commands. It's 
just the way my brain works.

First I enable visible line numbers so I know what's where.

:set nu

You can then use the following to write out to a new file.
Select lines 10 to 30
:10,30w ~/newfile

Or append lines 45 to 66 to newfile

:45,66w >>~/newfile


To copy text chunks around a file
Copy line 45,66 and insert at line 90

:45,66co90

Or substitute mo to move it

:45,66mo90

You can also use d to delete chunks of text
Delete line 78 to 88
:78,88d

Hope this helps

Rodney




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?782f4b6466266500ebcc15173fef385b>