在VIM中的Javascript缩进

前端之家收集整理的这篇文章主要介绍了在VIM中的Javascript缩进前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让VIM用’=’和相关命令缩进 Javascript.当我尝试自动缩进以下内容,例如:
  1. new function($) {
  2. $.fn.setCursorPosition = function(pos) {
  3. if ($(this).setSelectionRange) {
  4. $(this).setSelectionRange(pos,pos);
  5. } else if ($(this).createTextRange) {
  6. var range = $(this).createTextRange();
  7. range.collapse(true);
  8. range.moveEnd('character',pos);
  9. range.moveStart('character',pos);
  10. range.select();
  11. }

结果是相当荒谬的:

  1. new function($) {
  2. $.fn.setCursorPosition = function(pos) {
  3. if ($(this).setSelectionRange) {
  4. $(this).setSelectionRange(pos,pos);
  5. } else if ($(this).createTextRange) {
  6. var range = $(this).createTextRange();
  7. range.collapse(true);
  8. range.moveEnd('character',pos);
  9. range.moveStart('character',pos);
  10. range.select();
  11. }

我设置了set Syntax = javascript,我已经将filetype设置为:

  1. filetype detection:ON plugin:ON indent:ON

虽然我已经尝试了这一切的每一个排列.我已经尝试过智能,自动缩进和缩进的每一个排列,但是似乎没有什么正确的效果给Vim预期的缩进.我设置了tabstop = 4.

我已经安装了javascript.vimIndentAnything,尽管他们似乎没有任何效果.

我将非常感谢有关如何使Vim在JavaScript中正确缩进的任何建议.

哦,我刚刚花了几个小时弄清楚同样的问题.

如果你有文件类型缩进(你所做的),那么一些文件可能会设置一些不同的缩进设置.如果您使用详细集< option>?您可以看到它被设置在哪里以及它被设置为:

  1. :verbose set autoindent?
  2. :verbose set cindent?
  3. :verbose set smartindent?
  4. :verbose set indentexpr?

默认情况下,您只需要看到默认缩进文件设置的cindent:

  1. cindent
  2. Last set from $VIMRUNTIME/indent/javascript.vim

其中$VIMRUNTIME是您运行时获得的路径:echo $VIMRUNTIME.

除非您启用它们(在vimrc或插件中),否则所有其他设置将不会被设置.

对我来说,我有一个插件(eclim)正在设置identexpr并导致此问题:

  1. identexpr=EclimGetJavascriptIndent(V:lnum)
  2. Last set from ~/.vim/bundle/eclim/indent/javascript.vim

猜你在找的Bash相关文章