问题
I'm reinstalling everything after a hdd failure on my netbook (fresh install of Ubuntu Netbook Edition 10.04), and am trying to get the excellent SLIMV working again.
It was working fine on the previous installation, but with this one, parenthesis matching works, but auto-indenting Lisp code does not. Hitting return starts the cursor back in column 1 of the next line, no matter where it is in the nested parens.
I've been digging through the docs to see if there's a commandline or .vimrc switch that needs to be activated to enable indention, but don't see anything.
Am I just missing it? Any suggestions appreciated.
回答1:
- Check that function SlimvIndent is defined by calling :echo SlimvIndent(lnum) where lnum is the line number to be indented. It should return the indentation value for the line.
- Check that lisp mode is off with the :verbose set lisp? command, that also prints the location where this option was last set. It should be "nolisp", otherwise the default lisp indenting is used by Vim.
- Check that Slimv's indentation is set with the :verbose set indentexpr? command. It should be "SlimvIndent(v:lnum)".
- Some indentation methods work only if Slimv is connected to the Swank server, because it needs runtime information about the form to be indented (e.g. macro definition with &body argument).
- Make sure you use the latest Slimv version (0.8.4 at the moment), because it has indentation related bugfixes.
- Do not checkout the Slimv repository right into the vimfiles directory, because files in the .hg directory may interfere with the Slimv installation. Checkout the files to somewhere else instead and copy only the Slimv files into vimfiles.
If you still have problems with making the indentation work, then drop me a mail and we can discuss the additional steps. I'm the author of Slimv, you can find my email address in the documentation or on my vim.org page.
来源:https://stackoverflow.com/questions/6435595/new-slimv-0-8-4-install-paren-matching-works-indentation-doesnt