Skip to content

tomtom/quickfixsigns_vim

Repository files navigation

Display |signs| at interesting lines:

    - items in the |quickfix| and |location-lists| (e.g. compilation errors)
    - |marks| a-zA-Z
    - changes (given the file is under a VCS like git, svn, mercurial, 
      or bazaar -- see |g:tlib#vcs#def| for a list of supported VCSs)
    - breakpoints: vim, R (if rer_vim is installed)
    - cursor position
    - relative line numbers (show numbers only until the cursor moves; 
      this requires that you add the following command to |vimrc|: >
        noremap <silent> <leader><c-l> :call quickfixsigns#RelNumbersOnce()<cr>
<    - long lines (see |g:quickfixsigns_class_longlines| for details)
    - VCS merge conflict markers (Users have to enable this sign class 
      by adding 'vcsmerge' to |g:quickfixsigns_classes|)
    - etc.

Other lists can be configured via the |g:quickfixsigns_lists| variable.

The text attached to a quickfix or location-list entry is displayed in a 
balloon via 'balloonexpr'.
NOTE: This could cause a conflict with other plugins that make use of 
balloons.

If you want nicer looking images instead of the ASCII markers, you have 
to change the following signs' definition either in your |vimrc| file or 
in $VIMFILES/after/plugin/quickfixsigns.vim (by use of |sign-define|):

    QFS_QFL ... Entries in the |quickfix| list
    QFS_LOC ... Entries in the |location-list|
    QFS_Mark_[a-zA-Z] ... Marks
    QFS_CURSOR ... Current cursor position
    QFS_BREAKPOINT ... Breakpoints
    QFS_REL_x ... Relative line numbers
    QFS_VCS_{ADD,DEL,CHANGE} ... VCS changes (see also 
            |g:quickfixsigns#vcsdiff#highlight|)


Adding new sign classes~

VIM plugin developers can easily define new sign classes:

    1. Add the NAME of your sign class to |g:quickfixsigns_classes|
    2. Define a variable g:quickfixsigns_class_{NAME} -- a dictionary that 
       contains at least the following keys: sign, get. See 
       |g:quickfixsigns_classes| for further details.

On startup any files matching autoload/quickfixsigns/*.vim in the 
'runtimepath' are loaded. When the sign class is defined in an |autoload| file, 
you should first check whether NAME is included in |g:quickfixsigns_classes|. 
See ../autoload/quickfixsigns/breakpoints.vim for a working example.

CAVEAT: If the "get" expression entails running an external program, "event" 
should not contain |FocusGained| and |FocusLost| events.


CREDITS:
quickfixsigns includes some icons from the open icon library. See 
http://openiconlibrary.sourceforge.net for details.


-----------------------------------------------------------------------
Install~

Edit the vba file and type: >

    :so %

See :help vimball for details. If you have difficulties or use vim 7.0, 
please make sure, you have the current version of vimball
(vimscript #1502) installed or update your runtime.


Optional enhancements~

If tinykeymap (vimscript #4199) is installed, a map (see 
|g:tinykeymap#map#quickfixsigns#map|, which defaults to <Leader>ms) can be used 
to jump from sign to sign or between sign groups.





License: GPLv3 or later