Replacing CRLF

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Replacing CRLF

GGUTMAN
I'm using Vim under Windows (XP and 7).  I would like to universally
replace text which includes a CRLF with some other text.  In MSWord I can
represent CRLF as ^p, but MSWord unfortunately does not behave well with
the large files I'm working with.  So how can I do this in Vim?

I will appreciate any help,
          George

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Replacing CRLF

@ Rocteur CC
Hi George,

On 16 Feb 2013, at 07:03, George Gutman wrote:

> I'm using Vim under Windows (XP and 7).  I would like to universally
> replace text which includes a CRLF with some other text.  In MSWord I can
> represent CRLF as ^p, but MSWord unfortunately does not behave well with
> the large files I'm working with.  So how can I do this in Vim?

When you're in vi or vim, put yourself in insert mode and then type CTRL V

Once you've typed CTRL V you can now type and control character, such as CTRL M or CTRL L

CTRL M is carriage return
CTRL L is line feed

Having said that, a simple Google search would have given you the answers but also read these:

http://dailyvim.blogspot.be/2009/10/ctrl-v-for-literal-characters.html
http://www.bo.infn.it/alice/alice-doc/mll-doc/linux/vi-ex/node15.html
http://vim.wikia.com/wiki/Entering_special_characters

Jerry

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Loading directory of files, into a single file, in VIM

Russell Urquhart


Hi,

While still pretty new to Vim, i wanted to ask if this is possible.

I have  a directory of html files, (that are actually xml files, misnamed extension wise.) I would like to have all those files loaded, one after another into a single file, is that possible in Vim?

Thanks for any help,


Russ

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Loading directory of files, into a single file, in VIM

Dave Ruden

Hi Russ,
Try looking up help on the 'read' Vim command.  I think... Go to bottom of current file, do ":r YourNextFilename" and it reads it into your current file at your text cursor. There may be a more automatic technique as well that the group could suggest. You might also want to consider a command line utility, like for Windows/dos, "cat YourFilename >> CombinedFilename". I think the single '>' overwrites target, but double appends.
And then, I'm sure there are Unix command line utilities that are ported to Windows that are perfect for this kind of thing but that's a matter of downloading and learning how-to.

On Feb 16, 2013 2:02 PM, "Russell Urquhart" <[hidden email]> wrote:


Hi,

While still pretty new to Vim, i wanted to ask if this is possible.

I have  a directory of html files, (that are actually xml files, misnamed extension wise.) I would like to have all those files loaded, one after another into a single file, is that possible in Vim?

Thanks for any help,


Russ

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
 
---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Loading directory of files, into a single file, in VIM

Tim Chase
In reply to this post by Russell Urquhart
On 2013-02-16 13:02, Russell Urquhart wrote:
> I have  a directory of html files, (that are actually xml files,
> misnamed extension wise.) I would like to have all those files
> loaded, one after another into a single file, is that possible in
> Vim?

There are several ways to go about this.  One can create the combined
file on-disk with something like

  vim *.html
  :argdo w! >> combined.xml

which will load up each HTML file and then iterate over them,
appending them to a file on disk.

Alternatively, you can accumulate them in a register, e.g. "z" with

  vim *.html
  :let @z='' | argdo %y Z
  :new
  "zpdd

which will iterate over all your HTML files appending their contents
to the "z" register (the uppercase version appends, as noted at
":help quotea").  It then creates a new buffer, pastes the contents
of the "z" register, and deletes the blank line under which it was
pasted.

Note that in both case, you can modify the range to select a subset
of the file, so if you just want to write the <body> content, you can
do something like

  :argdo /<body/+1,/<\/body>/-1w! >> combined.xml

Hope this gives you some options to work with.

-tim




--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Replacing CRLF

george gutman
In reply to this post by @ Rocteur CC
Jerry,

Just got back to this issue...  I actually had gotten this advice from Mr. Google, but it doesn't work for me, if I go into insert mode and type CTRL V, all that happens is that the contents of the Windows scrap get pasted at the position of the cursor.  (I think I also replied on the group, but I'm not sure if it was successful...).

Thanks,
 

On Sat, Feb 16, 2013 at 4:20 AM, Jerry Rocteur <[hidden email]> wrote:
Hi George,

On 16 Feb 2013, at 07:03, George Gutman wrote:

> I'm using Vim under Windows (XP and 7).  I would like to universally
> replace text which includes a CRLF with some other text.  In MSWord I can
> represent CRLF as ^p, but MSWord unfortunately does not behave well with
> the large files I'm working with.  So how can I do this in Vim?

When you're in vi or vim, put yourself in insert mode and then type CTRL V

Once you've typed CTRL V you can now type and control character, such as CTRL M or CTRL L

CTRL M is carriage return
CTRL L is line feed

Having said that, a simple Google search would have given you the answers but also read these:

http://dailyvim.blogspot.be/2009/10/ctrl-v-for-literal-characters.html
http://www.bo.infn.it/alice/alice-doc/mll-doc/linux/vi-ex/node15.html
http://vim.wikia.com/wiki/Entering_special_characters

Jerry

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.



--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
 
---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Replacing CRLF

Gary Johnson-4
On 2013-03-20, george gutman wrote:

> On Sat, Feb 16, 2013 at 4:20 AM, Jerry Rocteur wrote:
>> Hi George,
>>
>> On 16 Feb 2013, at 07:03, George Gutman wrote:
>>
>>> I'm using Vim under Windows (XP and 7).  I would like to universally
>>> replace text which includes a CRLF with some other text.  In MSWord I can
>>> represent CRLF as ^p, but MSWord unfortunately does not behave well with
>>> the large files I'm working with.  So how can I do this in Vim?
>>
>> When you're in vi or vim, put yourself in insert mode and then type CTRL V
>>
>> Once you've typed CTRL V you can now type and control character, such as
>> CTRL M or CTRL L
>>
>> CTRL M is carriage return
>> CTRL L is line feed

> Jerry,
>
> Just got back to this issue...  I actually had gotten this advice from Mr.
> Google, but it doesn't work for me, if I go into insert mode and type CTRL V,
> all that happens is that the contents of the Windows scrap get pasted at the
> position of the cursor.  (I think I also replied on the group, but I'm not sure
> if it was successful...).

To start with, Ctrl-V is the traditional character used to quote
special characters such as control characters.  Because Windows uses
Ctrl-V for pasting, Vim is often configured on Windows to use Ctrl-Q
where it would normally use Ctrl-V.  See

    :help CTRL-V-alternative
    :help i_CTRL-V

That said, replacing CRLF is a whole other problem.  CRLF is the
DOS/Windows EOL sequence.  Vim treats EOL sequences specially.  They
usually don't even appear in a buffer.  How you treat them depends
on what you want to do with them.

If you have a file with only CRLF line endings and all you want to
do is convert them to LF line endings, Vim can do that
automatically.  Vim will open that file as 'fileformat' "dos".  You
won't see any CRLFs in the buffer.  Simply

    :set ff=unix
    :w

and the file will be saved with LF (Unix) line endings.

If you have a file that contains a mixture of CRLF and LF line
endings, Vim will load that file as 'fileformat' "unix", hide all
the LFs at the line endings, and show the CRs as ^M.  You can delete
all those ^Ms either by executing

    :%s/^Q^M//g

where ^Q and ^M are Ctrl-Q and Ctrl-M, respectively, or by executing

    :%s/\r//g

See

    :help /\r

If none of that works for you, come back with a more specific
explanation of what you are trying to do and we'll help you with the
solution.

HTH,
Gary

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.