スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

メールアドレスを補完する completefunc

  • ページ: tips
  • カテゴリー: 編集
  • 投稿日: 2006-08-16 02:41:47 (水)

メッセージ

注意:vim7 以降が必要

Vim6スクリプトお勉強スレ >>803 より

通常の C-p, C-n による補完では @ や . が区切りとみなされてしまうので、
メールアドレスの補完がしづらい。
以下の completefunc は現在のバッファから、途中まで入力した文字列にマッチする
メールアドレス(らしき文字列)を探し、@ や . を含めて補完してくれる。
使い方は、以下を .vimrc に書いておき、C-x C-u で補完実行。

 function! CompleteMail(findstart, base)
   if a:findstart
     let str = getline(".")[: col('.') - 2]
     let start = match(str, '[[:alnum:]_.-]*\%(@[[:alnum:]_.-]*\)\=$')
     return start
   else
     redir => str
     silent g/[[:alnum:]_.-]\+@[[:alnum:]_.-]\+/
     redir END
     let mx = '[[:alnum:]_.-]\+@[[:alnum:]_.-]\+'
     let i = match(str, mx)
     while !complete_check() && i != -1
       let address = matchstr(str, mx, i)
       if stridx(address, a:base) == 0
         call complete_add(address)
       endif
       let i = match(str, mx, i + len(address))
     endwhile
     return []
   endif
 endfunction

:set completefunc=CompleteMail




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1465d)