A working VIM setup for maintaining Snort configuration files.
Vim script
Switch branches/tags
Nothing to show
Pull request Compare This branch is 4 commits ahead of sploit:master.
Latest commit b09389d Nov 2, 2015 @wtfbbqhax Update README.md
Clarify that this is now merged into the VIM runtime. See the following commit:
Failed to load latest commit information.
doc First commit Dec 24, 2013
README.md Update README.md Nov 2, 2015


This project has been merged into VIM; and I am now the maintainer of the vim filetype=hog

  • Feel free to continue using this however if your vim is out-of-date; not bleeding edge.

Provide better support for Snort configuration files in VIM. Includes

  • Fixed syntax highlighting
  • Automatic indentation following a line continuation ('')
  • Folding of multiline confiugrations (following a line continuation)

To be done:

  • A better README

snort hog Improved vim experience for Snort users.

 ____                   _                     __  ~
/ ___| _ __   ___  _ __| |_   ___ ___  _ __  / _| ~
\___ \| '_ \ / _ \| '__| __| / __/ _ \| '_ \| |_  ~
 ___) | | | | (_) | |  | |_ | (_| (_) | | | |  _| ~
|____/|_| |_|\___/|_|   \__(_)___\___/|_| |_|_|   ~

Version: ALPHA.1
Author: Victor Roemer
Last Changed: March 10, 2013

CONTENTS                                                          *hog-contents*


INTRO                                                                *hog-intro*

Note: This is plugin is only a first-pass.

This plugin aims to improve the experience of modifying Snort configuration
and rule files with Vim. 

Provided features
    * Syntax highlighting (compatible with modern versions of Snort)
    * Automatic indentation
    * Navigation mappings

To make full use of the provided functionality, you'll need the following
configurations in your |vimrc|.

    set nocompatible
    filetype plugin indent on
    syntax on

SYNTAX                                                              *hog-syntax*

This plugin provides syntax highlighting support for modern versions of
Snort's configurations. 

TODO: Fill me out!

Syntax highlighting is defined in the syntax/hog.vim file. 

INDENTATION                                                         *hog-indent*

Snort configurations, while usually spanning a single line, can span multiple
lines with the use of the line-continuation character '\'.

For example:

    preprocessor stream5_global: \
        track_tcp yes, track_udp no

Upon encountering a line-continuation character, Snort reads past any whitespace,
comments, empty lines and lines only containing comments.

For example, the following configurations are identical:

    preprocessor stream5_global: \ # This is a comment
        #  track_tcp no, track_udp yes
        track_tcp yes, track_udp no

    preprocessor stream5_global: track_tcp yes, track_udp no

This plugin provides intelligent indentation when encountering line-continuations.

TODO: Examples!

NAVIGATION                                                      *hog-navigation*

The following motions are provided for navigating while in normal mode.

|]]|                      [count] sections forward or to the next config. 

|[[|                      [count] sections backward or to the previous config.

If the matchit plugin is installed (See |matchit-install), the following
motion is enabled by default:

|%|                       Find the end of the config line. (This motion spans