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