Loading ...
Sorry, an error occurred while loading the content.

137133Re: split on ^@

Expand Messages
  • Ben Fritz
    Apr 8, 2013
    • 0 Attachment
      On Monday, April 8, 2013 3:24:07 PM UTC-5, FlashBurn wrote:
      > I'm trying to create a list of file using globpath(). The problem is that globpath returns them as a single string, the other problem is that some of the files contains white spaces in their path. Here is what I came up with
      >
      > call writefile(split(escape(globpath(s:dir_str, '*.[hc]'), ' '), "^@"), s:myfile)
      >
      > The ^@ symbol shows up when globpath is written to a file without splitting it, i.e if you do the following, your files will separated with ^@
      >
      > writefile([escape(globpath(s:dir_str, '*.[hc]'), ' ')], s:myfile)
      >
      > The problem is that split doesn't recognize ^@. I get the following errors
      >
      > E114: Missing quote: "
      > E116: Invalid arguments for function split(escape(globpath(s:dir_str, '*.[hc]'), ' '), "
      > E116: Invalid arguments for function writefile
      >
      > Does anybody know how to make split recognize this funny symbol?
      >
      > Any help is appreciated.

      That "funny symbol" is a NULL character, which Vim uses internally to represent newline characters.

      You can probably split on "\n" instead of "^@", but more likely you can just call writefile on the string directly to get each file on its own line.

      --
      --
      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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Show all 2 messages in this topic