I'm trying to get VIM to indent Javascript with the '=' and related commands. When I try to auto indent the following, for example:
new function($) {
$.fn.setCursorPosition = function(pos) {
if ($(this).setSelectionRange) {
$(this).setSelectionRange(pos, pos);
} else if ($(this).createTextRange) {
var range = $(this).createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
The result is the rather absurd:
new function($) {
$.fn.setCursorPosition = function(pos) {
if ($(this).setSelectionRange) {
$(this).setSelectionRange(pos, pos);
} else if ($(this).createTextRange) {
var range = $(this).createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
I've set set syntax=javascript, and I've set filetype to:
filetype detection:ON plugin:ON indent:ON
Though I've tried every permutation of this. I've tried every permutation of smartindent, autoindent, and cindent, but nothing seems to have the correct effect of giving Vim the expected indentation. I've set tabstop=4.
I've installed javascript.vim, and IndentAnything, though they don't seem to have any effect.
I'd be very grateful for any suggestions as to how to get Vim indenting properly in Javascript.
Thank you.
Brian