0

私はこれを約1時間試していますが、まったく機能しないようです。ハハ

これは私が持っているものです:

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文字以上です。つまり、アドレスを入力しました。入力していない場合は、そこにとどまります。件名であるgoto行5が4つ以上ある場合。

そこで完了したら、そのIf for the Subject行をコピーして、件名行にいるかどうかを確認するために、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 に答える