vimipdb

How to write a quickfix list to a file


I'm looking for a way to write content of a quickfix window to a file with a specific formatting, preferably in a way that is easily scriptable.

What I'm trying to achieve is a very light integration of Vim and ipdb:

  1. I set 'breakpoints' as items on a quickfix list with mapping: nmap <leader>s :call setqflist([], 'a', {'items': [{'filename': @%, 'lnum':line('.'), 'text':'break'}]})
  2. Write content of the quickfix to .pdbrc file with break file_path:line_number formatting
  3. Run ipdb on specified script

Solution

  • You have two problems:

    1. Turning items into a list of properly formatted lines.

      You will need to:

      • get the quickfix list with :help getqflist(),
      • format each item of the list with :help map(),
      • derive file_path from the bufnr field with :help bufname() and possibly :help fnamemodify().
    2. Writing that list to a given file.

      You will need :help writefile().