mirror of
				https://github.com/chylex/IntelliJ-IdeaVim.git
				synced 2025-11-04 10:40:10 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			485 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			485 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
*indent.txt*    For IdeaVim version @VERSION@.  Last change: 2006 Nov 12
 | 
						|
 | 
						|
 | 
						|
                  VIM REFERENCE MANUAL    by Rick Maddy
 | 
						|
 | 
						|
 | 
						|
This file is about indenting C programs and other files.
 | 
						|
 | 
						|
This information does not apply to IdeaVim.
 | 
						|
 | 
						|
Indenting is handled as expected by the IDE.
 | 
						|
<!--
 | 
						|
1. Indenting C programs         |C-indenting|
 | 
						|
2. Indenting by expression      |indent-expression|
 | 
						|
 | 
						|
==============================================================================
 | 
						|
1. Indenting C programs                                 *C-indenting*
 | 
						|
 | 
						|
The basics for C indenting are explained in section |30.2| of the user manual.
 | 
						|
 | 
						|
Vim has options for automatically indenting C program files.  These options
 | 
						|
affect only the indent and do not perform other formatting.  For comment
 | 
						|
formatting, see |format-comments|.
 | 
						|
 | 
						|
Note that this will not work when the |+smartindent| or |+cindent| features
 | 
						|
have been disabled at compile time.
 | 
						|
 | 
						|
There are in fact four methods available for indentation:
 | 
						|
'autoindent'    uses the indent from the previous line.
 | 
						|
'smartindent'   is like 'autoindent' but also recognizes some C syntax to
 | 
						|
                increase/reduce the indent where appropriate.
 | 
						|
'cindent'       Works more cleverly than the other two and is configurable to
 | 
						|
                different indenting styles.
 | 
						|
'indentexpr'    The most flexible of all: Evaluates an expression to compute
 | 
						|
                the indent of a line.  When non-empty this method overrides
 | 
						|
                the other ones.  See |indent-expression|.
 | 
						|
The rest of this section describes the 'cindent' option.
 | 
						|
 | 
						|
Note that 'cindent' indenting does not work for every code scenario.  Vim
 | 
						|
is not a C compiler: it does not recognize all syntax.
 | 
						|
 | 
						|
These four options control C program indenting:
 | 
						|
'cindent'       Enables Vim to perform C program indenting automatically.
 | 
						|
'cinkeys'       Specifies which keys trigger reindenting in insert mode.
 | 
						|
'cinoptions'    Sets your preferred indent style.
 | 
						|
'cinwords'      Defines keywords that start an extra indent in the next line.
 | 
						|
 | 
						|
If 'lisp' is not on and 'equalprg' is empty, the "=" operator indents using
 | 
						|
Vim's built-in algorithm rather than calling an external program.
 | 
						|
 | 
						|
See |autocommand| for how to set the 'cindent' option automatically for C code
 | 
						|
files and reset it for others.
 | 
						|
 | 
						|
                                        *cinkeys-format* *indentkeys-format*
 | 
						|
The 'cinkeys' option is a string that controls Vim's indenting in response to
 | 
						|
typing certain characters or commands in certain contexts.  Note that this not
 | 
						|
only triggers C-indenting.  When 'indentexpr' is not empty 'indentkeys' is
 | 
						|
used instead.  The format of 'cinkeys' and 'indentkeys' is equal.
 | 
						|
 | 
						|
The default is "0{,0},0),:,0#,!^F,o,O,e" which specifies that indenting occurs
 | 
						|
as follows:
 | 
						|
 | 
						|
        "0{"    if you type '{' as the first character in a line
 | 
						|
        "0}"    if you type '}' as the first character in a line
 | 
						|
        "0)"    if you type ')' as the first character in a line
 | 
						|
        ":"     if you type ':' after a label or case statement
 | 
						|
        "0#"    if you type '#' as the first character in a line
 | 
						|
        "!^F"   if you type CTRL-F (which is not inserted)
 | 
						|
        "o"     if you type a <CR> anywhere or use the "o" command (not in
 | 
						|
                insert mode!)
 | 
						|
        "O"     if you use the "O" command (not in insert mode!)
 | 
						|
        "e"     if you type the second 'e' for an "else" at the start of a
 | 
						|
                line
 | 
						|
 | 
						|
Characters that can precede each key:
 | 
						|
!       When a '!' precedes the key, Vim will not insert the key but will
 | 
						|
        instead reindent the current line.  This allows you to define a
 | 
						|
        command key for reindenting the current line.  CTRL-F is the default
 | 
						|
        key for this.  Be careful if you define CTRL-I for this because CTRL-I
 | 
						|
        is the ASCII code for <Tab>.
 | 
						|
*       When a '*' precedes the key, Vim will reindent the line before
 | 
						|
        inserting the key.  If 'cinkeys' contains "*<Return>", Vim reindents
 | 
						|
        the current line before opening a new line.
 | 
						|
0       When a zero precedes the key (but appears after '!' or '*') Vim will
 | 
						|
        reindent the line only if the key is the first character you type in
 | 
						|
        the line.  When used before "=" Vim will only reindent the line if
 | 
						|
        there is only white space before the word.
 | 
						|
 | 
						|
When neither '!' nor '*' precedes the key, Vim reindents the line after you
 | 
						|
type the key.  So ';' sets the indentation of a line which includes the ';'.
 | 
						|
 | 
						|
Special key names:
 | 
						|
<>      Angle brackets mean spelled-out names of keys.  For example: "<Up>",
 | 
						|
        "<Ins>" (see |key-notation|).
 | 
						|
^       Letters preceded by a caret (^) are control characters.  For example:
 | 
						|
        "^F" is CTRL-F.
 | 
						|
o       Reindent a line when you use the "o" command or when Vim opens a new
 | 
						|
        line below the current one (e.g., when you type <Enter> in insert
 | 
						|
        mode).
 | 
						|
O       Reindent a line when you use the "O" command.
 | 
						|
e       Reindent a line that starts with "else" when you type the second 'e'.
 | 
						|
:       Reindent a line when a ':' is typed which is after a label or case
 | 
						|
        statement.  Don't reindent for a ":" in "class::method" for C++.  To
 | 
						|
        Reindent for any ":", use "<:>".
 | 
						|
=word   Reindent when typing the last character of "word".  "word" may
 | 
						|
        actually be part of another word.  Thus "=end" would cause reindenting
 | 
						|
        when typing the "d" in "endif" or "endwhile".  But not when typing
 | 
						|
        "bend".  Also reindent when completion produces a word that starts
 | 
						|
        with "word".  "0=word" reindents when there is only white space before
 | 
						|
        the word.
 | 
						|
=~word  Like =word, but ignore case.
 | 
						|
 | 
						|
If you really want to reindent when you type 'o', 'O', 'e', '0', '<', '>',
 | 
						|
'*', ':' or '!', use "<o>", "<O>", "<e>", "<0>", "<<>", "<>>", "<*>", "<:>" or
 | 
						|
"<!>", respectively, for those keys.
 | 
						|
 | 
						|
For an emacs-style indent mode where lines aren't indented every time you
 | 
						|
press Enter but only if you press Tab, I suggest:
 | 
						|
        :set cinkeys=0{,0},:,0#,!<Tab>,!^F
 | 
						|
You might also want to switch off 'autoindent' then.
 | 
						|
 | 
						|
Note: If you change the current line's indentation manually, Vim ignores the
 | 
						|
cindent settings for that line.  This prevents vim from reindenting after you
 | 
						|
have changed the indent by typing <BS>, <Tab>, or <Space> in the indent or
 | 
						|
used CTRL-T or CTRL-D.
 | 
						|
 | 
						|
                                                *cinoptions-values*
 | 
						|
The 'cinoptions' option sets how Vim performs indentation.  In the list below,
 | 
						|
"N" represents a number of your choice (the number can be negative).  When
 | 
						|
there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
 | 
						|
"1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc.  You can use a
 | 
						|
decimal point, too: "-0.5s" is minus half a 'shiftwidth'.  The examples below
 | 
						|
assume a 'shiftwidth' of 4.
 | 
						|
 | 
						|
        >N    Amount added for "normal" indent.  Used after a line that should
 | 
						|
              increase the indent (lines starting with "if", an opening brace,
 | 
						|
              etc.).  (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino=>2             cino=>2s >
 | 
						|
                  if (cond)           if (cond)           if (cond)
 | 
						|
                  {                   {                   {
 | 
						|
                      foo;              foo;                      foo;
 | 
						|
                  }                   }                   }
 | 
						|
<
 | 
						|
        eN    Add N to the prevailing indent inside a set of braces if the
 | 
						|
              opening brace at the End of the line (more precise: is not the
 | 
						|
              first character in a line).  This is useful if you want a
 | 
						|
              different indent when the '{' is at the start of the line from
 | 
						|
              when '{' is at the end of the line.  (default 0).
 | 
						|
 | 
						|
                cino=               cino=e2             cino=e-2 >
 | 
						|
                  if (cond) {         if (cond) {         if (cond) {
 | 
						|
                      foo;                  foo;            foo;
 | 
						|
                  }                   }                   }
 | 
						|
                  else                else                else
 | 
						|
                  {                   {                   {
 | 
						|
                      bar;                bar;                bar;
 | 
						|
                  }                   }                   }
 | 
						|
<
 | 
						|
        nN    Add N to the prevailing indent for a statement after an "if",
 | 
						|
              "while", etc., if it is NOT inside a set of braces.  This is
 | 
						|
              useful if you want a different indent when there is no '{'
 | 
						|
              before the statement from when there is a '{' before it.
 | 
						|
              (default 0).
 | 
						|
 | 
						|
                cino=               cino=n2             cino=n-2 >
 | 
						|
                  if (cond)           if (cond)           if (cond)
 | 
						|
                      foo;                  foo;            foo;
 | 
						|
                  else                else                else
 | 
						|
                  {                   {                   {
 | 
						|
                      bar;                bar;                bar;
 | 
						|
                  }                   }                   }
 | 
						|
<
 | 
						|
        fN    Place the first opening brace of a function or other block in
 | 
						|
              column N.  This applies only for an opening brace that is not
 | 
						|
              inside other braces and is at the start of the line.  What comes
 | 
						|
              after the brace is put relative to this brace.  (default 0).
 | 
						|
 | 
						|
                cino=               cino=f.5s           cino=f1s >
 | 
						|
                  func()              func()              func()
 | 
						|
                  {                     {                     {
 | 
						|
                      int foo;              int foo;              int foo;
 | 
						|
<
 | 
						|
        {N    Place opening braces N characters from the prevailing indent.
 | 
						|
              This applies only for opening braces that are inside other
 | 
						|
              braces.  (default 0).
 | 
						|
 | 
						|
                cino=               cino={.5s           cino={1s >
 | 
						|
                  if (cond)           if (cond)           if (cond)
 | 
						|
                  {                     {                     {
 | 
						|
                      foo;                foo;                foo;
 | 
						|
<
 | 
						|
        }N    Place closing braces N characters from the matching opening
 | 
						|
              brace.  (default 0).
 | 
						|
 | 
						|
                cino=               cino={2,}-0.5s      cino=}2 >
 | 
						|
                  if (cond)           if (cond)           if (cond)
 | 
						|
                  {                     {                 {
 | 
						|
                      foo;                foo;                foo;
 | 
						|
                  }                   }                     }
 | 
						|
<
 | 
						|
        ^N    Add N to the prevailing indent inside a set of braces if the
 | 
						|
              opening brace is in column 0.  This can specify a different
 | 
						|
              indent for whole of a function (some may like to set it to a
 | 
						|
              negative number).  (default 0).
 | 
						|
 | 
						|
                cino=               cino=^-2            cino=^-s >
 | 
						|
                  func()              func()              func()
 | 
						|
                  {                   {                   {
 | 
						|
                      if (cond)         if (cond)         if (cond)
 | 
						|
                      {                 {                 {
 | 
						|
                          a = b;            a = b;            a = b;
 | 
						|
                      }                 }                 }
 | 
						|
                  }                   }                   }
 | 
						|
<
 | 
						|
        :N    Place case labels N characters from the indent of the switch().
 | 
						|
              (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino=:0 >
 | 
						|
                  switch (x)          switch(x)
 | 
						|
                  {                   {
 | 
						|
                      case 1:         case 1:
 | 
						|
                          a = b;          a = b;
 | 
						|
                      default:        default:
 | 
						|
                  }                   }
 | 
						|
<
 | 
						|
        =N    Place statements occurring after a case label N characters from
 | 
						|
              the indent of the label.  (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino==10 >
 | 
						|
                   case 11:             case 11:  a = a + 1;
 | 
						|
                       a = a + 1;                 b = b + 1;
 | 
						|
<
 | 
						|
        lN    If N != 0 Vim will align with a case label instead of the
 | 
						|
              statement after it.
 | 
						|
 | 
						|
                cino=                       cino=l1 >
 | 
						|
                    switch (a) {              switch (a) {
 | 
						|
                        case 1: {                 case 1: {
 | 
						|
                                    break;            break;
 | 
						|
                                }                 }
 | 
						|
<
 | 
						|
        gN    Place C++ scope declarations N characters from the indent of the
 | 
						|
              block they are in.  (default 'shiftwidth').  A scope declaration
 | 
						|
              can be "public:", "protected:" or "private:".
 | 
						|
 | 
						|
                cino=               cino=g0 >
 | 
						|
                  {                   {
 | 
						|
                      public:         public:
 | 
						|
                          a = b;          a = b;
 | 
						|
                      private:        private:
 | 
						|
                  }                   }
 | 
						|
<
 | 
						|
        hN    Place statements occurring after a C++ scope declaration N
 | 
						|
              characters from the indent of the label.  (default
 | 
						|
              'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino=h10 >
 | 
						|
                   public:              public:   a = a + 1;
 | 
						|
                       a = a + 1;                 b = b + 1;
 | 
						|
<
 | 
						|
        pN    Parameter declarations for K&R-style function declarations will
 | 
						|
              be indented N characters from the margin.  (default
 | 
						|
              'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino=p0             cino=p2s >
 | 
						|
                  func(a, b)          func(a, b)          func(a, b)
 | 
						|
                      int a;          int a;                      int a;
 | 
						|
                      char b;         char b;                     char b;
 | 
						|
<
 | 
						|
        tN    Indent a function return type declaration N characters from the
 | 
						|
              margin.  (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=               cino=t0             cino=t7 >
 | 
						|
                      int             int                        int
 | 
						|
                  func()              func()              func()
 | 
						|
<
 | 
						|
        +N    Indent a continuation line (a line that spills onto the next) N
 | 
						|
              additional characters.  (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=                     cino=+10 >
 | 
						|
                  a = b + 9 *               a = b + 9 *
 | 
						|
                      c;                              c;
 | 
						|
<
 | 
						|
        cN    Indent comment lines after the comment opener, when there is no
 | 
						|
              other text with which to align, N characters from the comment
 | 
						|
              opener.  (default 3).  See also |format-comments|.
 | 
						|
 | 
						|
                cino=                     cino=c5 >
 | 
						|
                  /*                        /*
 | 
						|
                     text.                       text.
 | 
						|
                   */                        */
 | 
						|
<
 | 
						|
        CN    When N is non-zero, indent comment lines by the amount specified
 | 
						|
              with the c flag above even if there is other text behind the
 | 
						|
              comment opener.  (default 0).
 | 
						|
 | 
						|
                cino=c0                   cino=c0,C1 >
 | 
						|
                  /********                 /********
 | 
						|
                    text.                   text.
 | 
						|
                  ********/                 ********/
 | 
						|
<             (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
 | 
						|
 | 
						|
        /N    Indent comment lines N characters extra. (default 0).
 | 
						|
                cino=                     cino=/4 >
 | 
						|
                  a = b;                    a = b;
 | 
						|
                  /* comment */                 /* comment */
 | 
						|
                  c = d;                    c = d;
 | 
						|
<
 | 
						|
        (N    When in unclosed parentheses, indent N characters from the line
 | 
						|
              with the unclosed parentheses.  Add a 'shiftwidth' for every
 | 
						|
              unclosed parentheses.  When N is 0 or the unclosed parentheses
 | 
						|
              is the first non-white character in its line, line up with the
 | 
						|
              next non-white character after the unclosed parentheses.
 | 
						|
              (default 'shiftwidth' * 2).
 | 
						|
 | 
						|
                cino=                     cino=(0 >
 | 
						|
                  if (c1 && (c2 ||          if (c1 && (c2 ||
 | 
						|
                              c3))                     c3))
 | 
						|
                      foo;                      foo;
 | 
						|
                  if (c1 &&                 if (c1 &&
 | 
						|
                          (c2 || c3))           (c2 || c3))
 | 
						|
                     {                         {
 | 
						|
<
 | 
						|
        uN    Same as (N, but for one level deeper.  (default 'shiftwidth').
 | 
						|
 | 
						|
                cino=                     cino=u2 >
 | 
						|
                  if (c123456789            if (c123456789
 | 
						|
                          && (c22345                && (c22345
 | 
						|
                              || c3))                 || c3))
 | 
						|
<
 | 
						|
        UN    When N is non-zero, do not ignore the indenting specified by
 | 
						|
              ( or u in case that the unclosed parentheses is the first
 | 
						|
              non-white character in its line.  (default 0).
 | 
						|
 | 
						|
                cino= or cino=(s          cino=(s,U1 >
 | 
						|
                  c = c1 &&                 c = c1 &&
 | 
						|
                      (                         (
 | 
						|
                       c2 ||                        c2 ||
 | 
						|
                       c3                           c3
 | 
						|
                      ) && c4;                  ) && c4;
 | 
						|
<
 | 
						|
        wN    When in unclosed parentheses and N is non-zero and either
 | 
						|
              using "(0" or "u0", respectively, or using "U0" and the unclosed
 | 
						|
              parentheses is the first non-white character in its line, line
 | 
						|
              up with the character immediately after the unclosed parentheses
 | 
						|
              rather than the first non-white character.  (default 0).
 | 
						|
 | 
						|
                cino=(0                   cino=(0,w1 >
 | 
						|
                  if (   c1                 if (   c1
 | 
						|
                         && (   c2              && (   c2
 | 
						|
                                || c3))             || c3))
 | 
						|
                      foo;                      foo;
 | 
						|
<
 | 
						|
        mN    When N is non-zero, line up a line starting with a closing
 | 
						|
              parentheses with the first character of the line with the
 | 
						|
              matching opening parentheses.  (default 0).
 | 
						|
 | 
						|
                cino=(s                   cino=(s,m1 >
 | 
						|
                  c = c1 && (               c = c1 && (
 | 
						|
                      c2 ||                     c2 ||
 | 
						|
                      c3                        c3
 | 
						|
                      ) && c4;              ) && c4;
 | 
						|
                  if (                      if (
 | 
						|
                      c1 && c2                  c1 && c2
 | 
						|
                     )                      )
 | 
						|
                      foo;                      foo;
 | 
						|
<
 | 
						|
                                        *java-cinoptions* *java-indenting*
 | 
						|
        jN    Indent java anonymous classes correctly.  The value 'N' is
 | 
						|
              currently unused but must be non-zero (e.g. 'j1'). 'j1' will
 | 
						|
              indent for example the following code snippet correctly: >
 | 
						|
 | 
						|
                object.add(new ChangeListener() {
 | 
						|
                    public void stateChanged(ChangeEvent e) {
 | 
						|
                        do_something();
 | 
						|
                    }
 | 
						|
                });
 | 
						|
<
 | 
						|
        )N    Vim searches for unclosed parentheses at most N lines away.
 | 
						|
              This limits the time needed to search for parentheses.  (default
 | 
						|
              20 lines).
 | 
						|
 | 
						|
        *N    Vim searches for unclosed comments at most N lines away.  This
 | 
						|
              limits the time needed to search for the start of a comment.
 | 
						|
              (default 30 lines).
 | 
						|
 | 
						|
 | 
						|
The defaults, spelled out in full, are:
 | 
						|
        cinoptions=>s,e0,n0,f0,{0,}0,^0,:s,=s,l0,gs,hs,ps,ts,+s,c3,C0,(2s,us,
 | 
						|
                   \U0,w0,m0,j0,)20,*30
 | 
						|
 | 
						|
Vim puts a line in column 1 if:
 | 
						|
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
 | 
						|
- It starts with a label (a keyword followed by ':', other than "case" and
 | 
						|
  "default").
 | 
						|
- Any combination of indentations causes the line to have less than 0
 | 
						|
  indentation.
 | 
						|
 | 
						|
==============================================================================
 | 
						|
2. Indenting by expression                              *indent-expression*
 | 
						|
 | 
						|
The basics for using flexible indenting are explained in section |30.3| of the
 | 
						|
user manual.
 | 
						|
 | 
						|
If you want to write your own indent file, it must set the 'indentexpr'
 | 
						|
option.  Setting the 'indentkeys' option is often useful.  See the
 | 
						|
$VIMRUNTIME/indent directory for examples.
 | 
						|
 | 
						|
 | 
						|
REMARKS ABOUT SPECIFIC INDENT FILES ~
 | 
						|
 | 
						|
 | 
						|
FORTRAN                                                 *fortran-indent*
 | 
						|
 | 
						|
Block if, select case, and where constructs are indented. Comments, labelled
 | 
						|
statements and continuation lines are indented if the Fortran is in free
 | 
						|
source form, whereas they are not indented if the Fortran is in fixed source
 | 
						|
form because of the left margin requirements. Hence manual indent corrections
 | 
						|
will be necessary for labelled statements and continuation lines when fixed
 | 
						|
source form is being used. For further discussion of the method used for the
 | 
						|
detection of source format see |fortran-syntax|.
 | 
						|
 | 
						|
Do loops ~
 | 
						|
All do loops are left unindented by default. Do loops can be unstructured in
 | 
						|
Fortran with (possibly multiple) loops ending on a labelled executable
 | 
						|
statement of almost arbitrary type. Correct indentation requires
 | 
						|
compiler-quality parsing. Old code with do loops ending on labelled statements
 | 
						|
of arbitrary type can be indented with elaborate programs such as Tidy
 | 
						|
(http://www.unb.ca/chem/ajit/f_tidy.htm). Structured do/continue loops are
 | 
						|
also left unindented because continue statements are also used for purposes
 | 
						|
other than ending a do loop. Programs such as Tidy can convert structured
 | 
						|
do/continue loops to the do/enddo form. Do loops of the do/enddo variety can
 | 
						|
be indented. If you use only structured loops of the do/enddo form, you should
 | 
						|
declare this by setting the fortran_do_enddo variable in your .vimrc as
 | 
						|
follows >
 | 
						|
 | 
						|
   let fortran_do_enddo=1
 | 
						|
 | 
						|
in which case do loops will be indented. If all your loops are of do/enddo
 | 
						|
type only in, say, .f90 files, then you should set a buffer flag with an
 | 
						|
autocommand such as >
 | 
						|
 | 
						|
  au! BufRead,BufNewFile *.f90 let b:fortran_do_enddo=1
 | 
						|
 | 
						|
to get do loops indented in .f90 files and left alone in Fortran files with
 | 
						|
other extensions such as .for.
 | 
						|
 | 
						|
 | 
						|
VERILOG                                                 *verilog-indent*
 | 
						|
 | 
						|
General block statements such as if, for, case, always, initial, function,
 | 
						|
specify and begin, etc., are indented.  The module block statements (first
 | 
						|
level blocks) are not indented by default.  you can turn on the indent with
 | 
						|
setting a variable in the .vimrc as follows: >
 | 
						|
 | 
						|
  let b:verilog_indent_modules = 1
 | 
						|
 | 
						|
then the module blocks will be indented.  To stop this, remove the variable: >
 | 
						|
 | 
						|
  :unlet b:verilog_indent_modules
 | 
						|
 | 
						|
To set the variable only for Verilog file.  The following statements can be
 | 
						|
used: >
 | 
						|
 | 
						|
  au BufReadPost * if exists("b:current_syntax")
 | 
						|
  au BufReadPost *   if b:current_syntax == "verilog"
 | 
						|
  au BufReadPost *     let b:verilog_indent_modules = 1
 | 
						|
  au BufReadPost *   endif
 | 
						|
  au BufReadPost * endif
 | 
						|
 | 
						|
Furthermore, setting the variable b:verilog_indent_width to change the
 | 
						|
indenting width (default is 'shiftwidth'): >
 | 
						|
 | 
						|
  let b:verilog_indent_width = 4
 | 
						|
  let b:verilog_indent_width = &sw * 2
 | 
						|
 | 
						|
In addition, you can turn the verbose mode for debug issue: >
 | 
						|
 | 
						|
  let b:verilog_indent_verbose = 1
 | 
						|
 | 
						|
Make sure to do ":set cmdheight=2" first to allow the display of the message.
 | 
						|
 | 
						|
-->
 |