# Vim documentation: if_sniff

main help file

    *if_sniff.txt*	For Vim version 7.1b.  Last change: 2005 Mar 29

    		  VIM REFERENCE MANUAL
    	by Anton Leherbauer (toni@takefive.co.at)

    SNiFF+ and Vim				    *sniff*

    1. Introduction				    |sniff-intro|
    2. Commands				    |sniff-commands|
    3. Compiling Vim with SNiFF+ interface	    |sniff-compiling|

    {Vi does not have any of these commands}  *E275* *E274* *E276* *E278* *E279*

    The SNiFF+ interface only works, when Vim was compiled with the |+sniff|
    feature.

    ==============================================================================

    1. Introduction					*sniff-intro*

    The following features for the use with SNiFF+ are available:

       * Vim can be used for all editing requests
       * SNiFF+ recognizes and updates all browsers when a file is saved in Vim
       * SNiFF+ commands can be issued directly from Vim

    How to use Vim with SNiFF+
       1. Make sure SNiFF+ is running.
       2. In the Editor view of the Preferences dialog set the Field named
          'External Editor' to 'Emacs/Vim'.
       4. Start Vim
       5. Connect to SNiFF+ (:sniff connect)

    Once a connection is established, SNiFF+ uses Vim for all requests to show or
    edit source code.  On the other hand, you can send queries to SNiFF+ with the
    :sniff command.

    ==============================================================================

    2. Commands				    *sniff-commands*

    			    *:sniff* *:sni*
    :sni[ff] request [symbol]   Send request to sniff with optional symbol.
    			    {not in Vi}
    :sni[ff]		    Display all possible requests and the connection
    			    status

    Most requests require a symbol (identifier) as parameter.  If it is omitted,
    Vim will use the current word under the cursor.
    The available requests are listed below:

    request		      mapping	description
    -------------------------------------------------------------------------------
    connect			sc	Establish connection with SNiFF+.
    				Make sure SNiFF+ is prepared for this in the
    				Preferences
    disconnect		sq	Disconnect from SNiFF+.  You can reconnect any
    				time with :sniff connect (or 'sc')
    toggle			st	Toggle between implementation
    				and definition file
    find-symbol		sf	Load the symbol into a Symbol Browser
    browse-class		sb	Loads the class into a Class Browser
    superclass		ss	Edit superclass of symbol
    overridden		so	Edit overridden method of symbol
    retrieve-file		srf	Retrieve symbol in current file
    retrieve-project	srp	Retrieve symbol in current project
    retrieve-all-projects	srP	Retrieve symbol in all projects
    retrieve-next		sR	Retrieve symbol using current Retriever
    				settings
    goto-symbol		sg	Goto definition or implementation of symbol
    hierarchy		sh	Load symbol into the Hierarchy Browser
    restr-hier		sH	same as above but show only related classes
    xref-to			sxt	Start a refers-to query on symbol and
    				load the results into the Cross Referencer
    xref-by			sxb	Start a referred-by query on symbol
    xref-has		sxh	Start a refers-to components query on symbol
    xref-used-by		sxu	Start a referred-by as component query on
    				symbol
    show-docu		sd	Show documentation of symbol
    gen-docu		sD	Generate documentation of symbol

    The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
    product ($SNIFF_DIR/config/sniff.vim).  This file is sourced whenever Vim
    connects to SNiFF+.

    ==============================================================================

    3. Compiling Vim with SNiFF+ interface		*sniff-compiling*

    To compile Vim with SNiFF+ support, you need two source files of the extra
    archive: if_sniff.c and if_sniff.h.
    On Unix: Edit the Makefile and uncomment the line "--enable-sniff".  Or run
    configure manually with this argument.
    On NT: Specify SNIFF=yes with your make command.

    top - main help file