vim:E14无效地址,在if语句中重新分配变量

时间:2015-05-28 18:55:35

标签: vim

我正在尝试使标签间距取决于文件类型。但我在E14 Invalid Address上收到错误line 3

function! Tabs()
  let t = 4
  if (&filetype ==? 'yaml') || (&filetype ==? 'yml')
    t = 2
  endif

  " size of a hard tabstop
  let &tabstop=t

  " size of an "indent"
  let &shiftwidth=t

  " a combination of spaces and tabs are used to simulate tab stops at a width
  " other than the (hard)tabstop
  let &softtabstop=t
endfunction
autocmd! BufReadPost,BufNewFile * call Tabs()

不确定我做错了什么。

1 个答案:

答案 0 :(得分:3)

您必须始终使用:let为变量指定值:

let t = 2

注意:虽然并非严格要求,但在:let的操作符周围添加空格是习惯性的:

let &foo = 1

必须避免:set的空格:

set foo=1