2013-07-24 18 views
4

的最開始處每當我鍵入一個:(冒號)時,它會將當前行上的所有文本移動到行首,忽略空格和製表符。無論何時我在插入模式下輸入冒號,它都會將我的文本移動到行

所以,如果我輸入

var combo = new Ext.form.ComboBox({ 
    typeAhead //I'm about to type a colon, but right now it looks fine 
}) 

然後我鍵入它移動文本中的冒號,它現在看起來像

var combo = new Ext.form.ComboBox({ 
typeAhead: //text is no longer indented 
}) 

這是一個JavaScript文件,這樣可能會引起什麼問題?

當我輸入冒號時,如何阻止我的文本被移動到行的開頭?

+0

您已將':'字符映射到某個命令。如果你有問題,問題是否會繼續並重新啓動編輯器?檢查你的'.vimrc'。 –

+0

':verbose imap:' – Kent

+0

沒有找到映射 – Grammin

回答

7

將冒號添加到令牌的末尾會導致vim將其解釋爲用於C縮進目的的跳轉標籤。 :set cino+=L0應該導致它留在當前列。

此外,JSON語法是否允許引用冒號前的內容?這應該防止vim認爲它也是一個標籤。

var combo = new Ext.form.ComboBox({ 
    "typeAhead": "foo" // this isn't a jump label 
}); 
+0

或者使用':setlocal autoindent',因爲'cindent'並不是特別適合JavaScript,不管怎樣, –

+0

@IngoKarkat它工作得很好。至少它承認大括號:) – hobbs

相關問題