quinta-feira, 9 de abril de 2009

O plugin e seus tipos

Você pode escrever um script vim de tal modo que muitas pessoas possam usa-lo.
Isto é chamado de plugin.
Usuários do vim podem baixar seu script no diretório plugin deles e usa-lo
imediatamente.

Existem dois tipos de plugins:
Plugin global - para todos tipos de arquivo.
Plugin filetype - somente para arquivos de um determinado tipo.

Eis um exemplo de um plugin global:
  1     " Vim global plugin for correcting typing mistakes
  2 " Last Change: 2000 Oct 15
  3 " Maintainer: Bram Moolenaar <Bram@vim.org>
  4 " License: This file is placed in the public domain.
  5
  6 if exists("loaded_typecorr")
  7 finish
  8 endif
  9 let loaded_typecorr = 1
 10
 11 let s:save_cpo = &cpo
 12 set cpo&vim
 13
 14 iabbrev teh the
 15 iabbrev otehr other
 16 iabbrev wnat want
 17 iabbrev synchronisation
 18 \ synchronization
 19 let s:count = 4
 20
 21 if !hasmapto('<Plug>TypecorrAdd')
 22 map <unique> <Leader>a <Plug>TypecorrAdd
 23 endif
 24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
 25
 26 noremenu <script> Plugin.Add\ Correction <SID>Add
 27
 28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
 29
 30 function s:Add(from, correct)
 31 let to = input("type the correction for " . a:from . ": ")
 32 exe ":iabbrev " . a:from . " " . to
 33 if a:correct | exe "normal viws\<C−R>\" \b\e" | endif
 34 let s:count = s:count + 1
 35 echo s:count . " corrections now"
 36 endfunction
 37
 38 if !exists(":Correct")
 39 command −nargs=1 Correct :call s:Add(<q−args>, 0)
 40 endif
 41
 42 let &cpo = s:save_cpo

0 comentários:

Postar um comentário