sponsor Vim development Vim logo Vim Book Ad

editqf : Make quickfix entries editable

 script karma  Rating 18/6, Downloaded by 2010  Comments, bugs, improvements  Vim wiki

created by
Jan Christoph Ebersbach
 
script type
utility
 
description
DESCRIPTION                                             *editqf-description*

This script is a reimplementation and continuation of the QuickFixNotes
script (vimscript#2216). Besides the original functionality of capturing
notes and storing them in a file, this script provides commands for easily
loading the stored data, also for location lists.

Though the main functionality of this script is to make editing of quickfix
entries easy.

I did a screencast giving an overview of the basic functionality of this
plugin. It's available at vimeo: http://vimeo.com/jceb/editqf

This script can be downloaded from vimscript#3557. The latest development
version is available at https://github.com/jceb/vim-editqf.

==========================================================================
USAGE                                                         *editqf-usage*

Create entries in the quickfix list by either running special a command
like :make or :grep or add a note by pressing <leader>n. Then bring up the
quickfix window by running the command :cw.

When you are in the quickfix window navigate to the entry you want to
change. Just press any key that would bring in into insert mode or change
the text like "i".  Automatically a new window will be opened containing
all entries of the quickfix window.

You can use the regular editing commands for editing the entries. Once
you're done, just save the buffer and leave or close the window. I
recommend using :x, because this command does both with just one command.
After that you are brought back to the error you initially started editing
in the quickfix window.

For changing the type of a quickfix entry from within the quickfix window five
convenience shortcuts are provided:
- I -> info
- W -> warning
- E -> error
- << and >> -> cycle through the different types

Additionally the plugin provides the following commands that support
storing and restoring quickfix and location lists:
:QFSave <FILENAME>
:QFLoad <FILENAME>  " default is to append to the current quickfix list
:QFLoad! <FILENAME> " replace quickfix list with the contents of file
:QFAddNote [NOTE]   " add quickfix entry with message NOTE
:QFAddNote! [NOTE]  " like :QFAddNote but start a new quickfix list
:QFAddNotePattern[!] [NOTE] " add quickfix entry matching the pattern of the current line

:LocSave <FILENAME>
:LocLoad <FILENAME>  " default is to append to the current location list
:LocLoad! <FILENAME> " replace location list with the contents of file
:LocAddNote [NOTE]   " add location entry with message NOTE
:LocAddNote! [NOTE]  " like :LocAddNote but start a new location list
:LocAddNotePattern[!] [NOTE] " add location entry matching the pattern of the current line

Editqf has integrated support for the hier script (vimscript#3564) which highlights
quickfix errors to make them more visible.

==========================================================================
CUSTOMIZATION                                         *editqf-customization*

The default filename for storing and loading quickfix and location lists is
customizable by setting the following variables in your vimrc:
let g:editqf_saveqf_filename  = "quickfix.list"
let g:editqf_saveloc_filename = "location.list"

Jump to the edited error when editing finished:
let g:editqf_jump_to_error = 1

Store absolute filename when adding a new note
let g:editqf_store_absolute_filename = 1

The default keybinding <leader>n for adding a quickfix note can be
customized by defining a mapping in your vimrc:
nmap <leader>n <Plug>QFAddNote
nmap <leader>N <Plug>QFAddNotePattern
nmap <leader>l <Plug>LocAddNote
nmap <leader>L <Plug>LocAddNotePattern

All mappings can be turned off by setting:
let g:editqf_no_mappings = 1
 
install details
1. Download editqf.vba
2. Open file in vim and run :so % to install plugin
3. Restart vim
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
editqf.vba 1.5 2014-01-11 7.0 Jan Christoph Ebersbach - preserve cursor position when saving qf or location list
- remove redundant code to format lists
- remove workaround with an empty line number or search pattern
- don't suppress error messages anymore
editqf.vba 1.4 2014-01-10 7.0 Jan Christoph Ebersbach - add << and >> to cycle through quickfix types
- move logic to an autoload plugin
- fix timeouts for <Plug>s
- minor fixes
editqf.vba 1.3 2011-08-27 7.0 Jan Christoph Ebersbach - add convenience shortcuts for changing the type of a quickfix entry (info,
  warning or error)
- fix change of note type from error to info
editqf.vba 1.2 2011-05-10 7.0 Jan Christoph Ebersbach - fix issue when editing entries without a type by setting the default
  type to error
- make commands overwrite commands with the same name
- clear autocommand groups at definition time
- change note type from error to info
editqf.vba.gz 1.1 2011-04-26 7.0 Jan Christoph Ebersbach - add support for hier script for highlighting quickfix and location entries
- add variable g:editqf_jump_to_error to make jumping to the last selected
  error optional
- add variable g:editqf_store_absolute_filename to let the user decide
  whether filenames are stored with an absolute or relative path
- prefix global variables with the plugin's name
- move all functionality from Edit to Read function to allow editing of
  qf:list and loc:list directly through vim commands (:e, :sp ...)
- add support for patterns matching
- add description of quickfix/location fields to the editing buffer
- allow deleting all entries from quickfix/location list
- change command and <Plug> names to start with prefix QF or Loc
- general refactoring and cleanup
editqf.vim 1.0 2011-04-21 7.0 Jan Christoph Ebersbach Initial upload
ip used for rating: 18.117.162.80

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github