0

我现在已经尝试了大约一个小时,但我似乎根本无法让它工作!哈哈

这就是我所拥有的:

function! Tabber()
let l2=getline(".")
if l2[:2] == 'To:'
    if len(l2) > 4
        exe "silent! normal 5Gi"
    else
        exe "silent! normal 2Gi"
    endif
endif
startinsert
endfunction

基本上,当我在 VIM 中为 mutt 写一封电子邮件时,我希望能够在写完 To: 地址后按下 Tab 键,我希望它决定我所在的行是否有 To:,然后如果超过 4 个字符的意思是我输入了一个地址,如果没有,那就呆在那里。如果有超过 4 行转到第 5 行,即主题行。

完成后,我想将 If 复制到主题行,以确保我是否在主题行转到第 9 行来写电子邮件。所以我可以按我的方式下来哈哈。

对于我的生活,它不会起作用。当然,我还没有将它连接到选项卡,我只是<Esc>出去然后:

:call Tabber()

但这应该有效。:S

谢谢!:)

4

1 回答 1

1

您的功能确实对我有用,所以我不确定为什么在没有更多信息的情况下您会遇到麻烦。我确实修改了它以适合您的规格:

function! Tabber()
   let line=getline(".")
   if line[:2] == 'To:'
      if len(line) > 4 | 5 | endif
   elseif line[:7] == 'Subject:'
      if len(line) > 9 | 9 | endif
   endif
   startinsert!
endfunction
inoremap <Tab> <Esc>:call Tabber()<cr>
于 2012-08-08T23:30:26.100 回答