Hi,

I recently upgraded from vim 6 to vim 7 on my Linux system at work.
Because of how they have stuff configured here at the office, I had to
install to my home directory instead of installing to the system.
This, I don't think, has anything to do with the difficulty I'm
having.

int main( ) {
  // important stuff

#ifdef DEBUG
  std::cout << "Something for debugging here" << std::endl;
#endif
  // more important stuff

  return 0;
}

In the above code example, before upgrading, what would happen is, as
I would write the code in main and then begin the preprocessor
directive line with "#ifdef ..." the cursor would automatically jump
to the beginning of the line and then, when I press the enter key for
the next line, the line would jump to the indentation of the preceding
lines of code before the "ifdef ...".  This no longer happens.  The
cursor does jump to the beginning of the line, but on the next return
key, the cursor is repositioned at the beginning of the line again.
However, I've noticed that, once the preprocessor block is completed,
i.e. I enter the "#endif"; the cursor is repositioned at the indent I
was at in the main function (or conditionals, etc.).

Is this supposed to happen?  I realize that there is a logical
separation from the preprocessor code to the body of the function,
conditional, etc., but I like the old way better.  The other change to
indent that is really annoying (more so than the above) is illustrated
below:

int main( ) {
  std::cout << "This line of test"
                << " cascades with this" << std::endl;


  if( true )
     std::cout << "It's true" << std::endl;

  return 0;
}

In both of the above cases, the behavior I'm used to has the cursor
jumping to the first indent for the function *after* I type the
terminating ';' for the C++ statement.  Now, however, what happens
after I type my ';' character is the cursor is returned to the point
of the "<<" on the second line down from the "first" line of the cout
or the indent level of the conditional statement.  Why is this?  The
previous behavior was much more useful.  Are these expected changes to
the indenting behavior of vim7?  If not, can anyone offer me some
explanation as to why they are not working as they should now?

Thanks in advance for any pointers to this.

Andy

Reply via email to