Documentos de Académico
Documentos de Profesional
Documentos de Cultura
"
"
"
"
"
"
"
"
let
let
let
let
let
let
let
let
export
export
export
export
MAIL02="ivan.carlos78@gmail.com"
URL01="http://www.del.ufrj/~ivanczar/"
PATHBACKUP="/cygdrive/G/principal/work/bkup"
PATHCONF="~/data"
"
" importante ressaltar que o formato acima pode ser substitudo por
" variveis globais caso queira definir no prprio arquivo .vimrc, evitando
" a definio em arquivos shell de configurao.
"
"
let g:MAIL01
= 'ivanczar78@yahoo.com.br'
"
let g:MAIL02
= 'ivan.carlos78@gmail.com'
"
let g:URL01
= 'http://www.del.ufrj/~ivanczar/'
"
let g:PATHBACKUP = '/cygdrive/G/principal/work/bkup/'
"
let g:PATHCONF = '~/data'
"
if !has("win32") " cygwin ou linux ------------------------------------------" Modo Cygwin prompt-texto
"echo "CYGWIN"
" Opcoes linux entrariam aqui ....
else " tem windows ----------------------------------------------------------" -----------------------------cywin-Win32-Gvim--------------------------if has("gui_running") && exists("$ICPATHCONF")
echo "CYGWIN-Gvim"
let $ICPATHCONF =matchstr(system('cygpath -m '.$PATHCONF), "^.
*\\ze\n")
let $ICPATHBACKUP=matchstr(system('cygpath -m '.$PATHBACKUP),"^.
*\\ze\n")
else " sem cygwin ------------------------------------------------------if $OS=~"Windows_NT"
"
echo "Gvim-Win32"
let
$ICAUTOR="Ivan Carlos Da Silva Lopes"
let $ICUNIVERSIDADE="Universidade Federal Do Rio de Jan
eiro"
let $ICDEPARTAMENTO="Departamento De Eletrnica e Computao
Del - UFRJ"
let
$ICMAIL01='ivanczar78@yahoo.com.br'
let
$ICMAIL02='ivan.carlos78@gmail.com'
let
$ICURL01='http://www.del.ufrj/~ivanczar/'
let
$ICPATHCONF ="E:/cygWin/cygwin-root/cygwin/home/
ivanczar/data"
let
$ICPATHBACKUP="D:/principal/work/bkup"
"
" scripts.
"
" Para tanto devemos utilizar as configuraes precedidas pelo comando
" set[local].
"
" **************************************************************************
" *
*
" * use VIM padro muito melhor
*
" *
*
" **************************************************************************
setlocal nocompatible
" **************************************************************************
" *
*
" *(compatible) Torna o comportamento do VIM o mais prximo possvel do VI.*
" *
*
" **************************************************************************
"setlocal cp
" **************************************************************************
" *
*
" * Numerando as linhas do arquivo, isto , qualquer arquivo carregado *
" * editado com a numerao de linhas ligada
*
" *
*
" **************************************************************************
setlocal number
" **************************************************************************
" *
*
" * Exibe o modo atual de operaes do VI (Insero ou comandos)
*
" * Mostra o modo que voc esta.
*
" *
*
" **************************************************************************
setlocal showmode
" **************************************************************************
" *
*
" * (beautfy)- Usando essa opo, todos os caracteres de controle (a no *
" * ser "tab", "linefeed" e "formfeed") sero descartados do texto ao ser *
" * carregados.
*
" *
*
" **************************************************************************
"setlocal bf
" **************************************************************************
" *
*
" *
Recua cada linha para o mesmo nvel da linha superior
*
" *
*
" **************************************************************************
setlocal autoindent
"
"
"
"
"
"
cab
cab
cab
**************************************************************************
*
*
* Utilizando abreviaes em linha de comando
*
* Para tanto vamos utilizar o comando Cab
*
*
*
**************************************************************************
W w
Wq wq
wQ wq
cab WQ wq
cab Q q
"
"
"
"
"
"
**************************************************************************
*
*
* Os comandos de abreviao podem tambm ficar em uma nica linha
*
* cab W w | cab Q q | cab Wq wq | cab wQ wq | cab WQ wq
*
*
*
**************************************************************************
" **************************************************************************
" *
*
" * ShiftWidth: nmero de colunas deslocadas pelo comando > ou <
*
" *
*
" **************************************************************************
setlocal sw=3
" **************************************************************************
" *
*
" * rgua: mostra a posio do cursor
*
" *
*
" **************************************************************************
setlocal ruler
" **************************************************************************
" *
*
" * SHortMessages: encurta as mensagem da rgua
*
" *
*
" **************************************************************************
setlocal shm=filmnrwxt
" **************************************************************************
" *
*
" * ShowMatch: Toda vez que voc fecha um parntese, colchete
*
" * ou chave, o Vi mostra onde este foi aberto. Caso no haja
*
" * nenhum aberto para este, deixa em vermelho parnteses ou
*
" * chaves que no tm um par.
*
" *
*
" **************************************************************************
setlocal sm
" **************************************************************************
" *
*
" * tab com complemento de palavras automtico
*
" *
*
" **************************************************************************
setlocal wildmode=list:longest,full
" **************************************************************************
" *
*
" * mostra os comandos sendo executados
*
" *
*
" **************************************************************************
setlocal showcmd
"
"
"
"
**************************************************************************
*
*
* reporta aes com linhas no rodap
*
*
*
" **************************************************************************
setlocal report=0
" **************************************************************************
" *
*
" * tabstop: nmero de colunas para o comando <tab>
*
" *
*
" **************************************************************************
setlocal ts=3
"
"
"
"
"
"
A tecla TAB no vim vem padronizada com 8 espaos, sendo assim, quando
editar um cdigo em c, c++, pascal ou outra linguagem qualquer o texto
do cdigo torna-se algo meio confuso, principalmente quando o cdigo
longo e possui inmeros escopos. Para tanto, podemos mudar o tamanho do
TAB, isto do nmero de espaos gerados pelo mesmo, utilizando o comando
'setlocal tabstop=3' que transforma o tamanho do TAB de 8 para 3.
" **************************************************************************
" *
*
" * coloca 2 espaos aps o . quando usando o gq
*
" *
*
" **************************************************************************
"set nojoinspaces
" **************************************************************************
" *
*
" * Usando <BkSpc> para deletar linha
*
" *
*
" **************************************************************************
setlocal backspace=eol,start,indent
" **************************************************************************
" *
*
" * (window)Define o nmero de linhas deslocadas com os comandos
*
" * ^B (Ctrl+B) e ^F (Ctrl+F)
*
" *
*
" **************************************************************************
setlocal window=10
" **************************************************************************
" *
*
" * Define o nmero de linhas deslocadas com os comandos
*
" * ^U (Ctrl+U) e ^D (Ctrl+D)
*
" *
*
" **************************************************************************
setlocal scroll=5
"
"
"
"
"
"
set
**************************************************************************
*
*
* Em caso de se cometer um comando invlido aciona-se um alarme visual *
* visual-bells
*
*
*
**************************************************************************
visualbell
"
"
"
"
"
**************************************************************************
*
*
* Aqui definimos para vim onde encontrar o arquivo com as cores do fvwm *
* importante ressaltar que essa opo est configurada para CygWin
*
*
*
" **************************************************************************
"cab RGB exec "e ". expand(g:rgb_file)
"let g:rgb_file="/usr/X11R6/lib/X11/rgb.txt"
"Cygwin
"let rgb_file="/usr/X11R6/lib/X11/rgb.txt"
Linux-Conectiva-8
"
"
"
"
"
"
"
"
"
"
set
**************************************************************************
*
*
* Aqui definimos uma chave para a alternncia entre os modos:
*
*
*
* -- INSERT (paste) -e
-- INSERT -*
*
*
* O primeiro no segue o padro de linha Identada enquanto o segundo *
* o modo normal de trabalho.
*
*
*
**************************************************************************
pastetoggle=<F2>
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
map
map
map
map
map
**************************************************************************
*
*
* <F12> Esconde comentrio
liga ou desliga comentrio
*
* <F11> numerao lateral
liga ou desliga numerao
*
* <F10> tabulao
liga ou desliga tabulao
*
* <F9>
backup
*
*
*
*
*
* <F3>
meu help
*
* <F2>
insert (paste)
*
*
*
*
*
* ;l
limpa
retira espaos em branco de final
*
*
de arquivo.
*
*
*
*
*
* ,bi
Edio binria
liga ou desliga edio binria
*
*
*
*
*
*
*
**************************************************************************
<F12> :call HideShowComment()<cr>
<F11> :call TurnOnOffNumber()<cr>
<F10> :call TurnOnOff_TAB_EOF()<cr>
<F9> :call BackupNomeData()<cr>
<F3> :call AjudaUsuario()<cr>
" **************************************************************************
" *
*
" * geralmente usamos ^I para representar uma tabulao
*
" * <Tab>, e $ para indicar o fim de linha. Mas possvel
*
" * customizar essas opes. sintaxe:
*
" *
*
" * set listchars=key:string,key:string
*
" *
*
" *
*
" * - eol:{char}
*
" *
*
" *
Define o caracter a ser posto depois do fim da linha
*
" *
*
" * - tab:{char1}{char2}
*
" *
*
" *
O tab mostrado pelo primeiro caracter {char1} e
*
" *
seguido por {char2}
*
" *
*
" * - trail:{char}
*
" *
*
" *
Esse caracter representa os espaos em branco.
*
" *
*
" * - extends:{char}
*
" *
*
" *
Esse caracter representa o incio do fim da linha sem quebra-la
*
" *
Est opo funciona com a opo nowrap abilitada
*
" *
*
" **************************************************************************
"exemplo 1:
"set listchars=tab:>-,trail:.,eol:#,extends:@
"exemplo 2:
"set listchars=tab:>"exemplo 3:
"set listchars=tab:>"exemplo 4:
set nowrap
"Essa opo desabilita a quebra de linha
"set listchars=extends:+
" **************************************************************************
" *
*
" * Em caso de se cometer um comando invlido aciona-se um alarme sonoro *
" * error-bells
*
" *
*
" **************************************************************************
"set eb
"
"
"
"
"
"
"
"
**************************************************************************
*
*
* Antes de sobrescrever um arquivo mantm um backup do mesmo
*
*
*
* por exemplo, aps salvar um arquivo de nome Alfa.txt, o vim cria uo
*
* outro arquivo chamado Alfa.txt~ com a configurao anterior do arquivo *
* antes do mesmo ser alterado
*
*
*
" **************************************************************************
"set bk
" **************************************************************************
" *
*
" * usar a pasta pessoal de backup
*
" *
*
" **************************************************************************
"set backupdir=$ICPATHBACKUP
" **************************************************************************
" *
*
" * Habilita a mudana de coluna quando movimenta-se atravs das linhas
*
" *
*
" **************************************************************************
"set startofline
"
"
"
"
"
**************************************************************************
*
*
* Eu gosto mas do formato UNIX
*
*
*
**************************************************************************
**************************************************************************
*
*
*
Fechamento automtico para parnteses
*
*
*
**************************************************************************
"imap ( ()<esc>i
"inoremap ( ()<esc>i
"inoremap { {<Char-13>}<esc>i
"inoremap [ []<esc>i
"
"
"
"
"
set
**************************************************************************
*
*
* Diretrios onde o VIM busca por arquivos
*
*
*
**************************************************************************
path=.,/usr/include/,/usr/local/bin/
" **************************************************************************
" *
*
" *exemplo de como usar o dicionrio com mapeamento:
*
" * (1) dentro do modo de insero
-- INSERT -*
" * (2) posicione o cursor sob a palavra a ser completada
*
" * (3) ligar dicionrio ao pressionar a seqencia "CTRL+d"
*
"imap <c-d> <c-x><c-k>
" * (4) Completa uma palavra de forma ascendente
"<F7>"
*
"imap <F7> <c-n>
" * (5) Busca palavra no arquivo corrente
"<F8>"
*
"imap <F8> <c-x><c-n>
" *
*
" **************************************************************************
" **************************************************************************
" *
*
" * Quando completar uma palavra seguir a seguinte seqencia de
*
" * busca, sendo primeiro em 1, segundo em 2, ...
*
" *
*
" * 1 - no buffer atual
(.)
*
" * 2 - buffer de outra janela
(w)
*
" * 3 - outros buffers carregados
(b)
*
" * 4 - buffers no carregados
(u)
*
" * 5 - arquivo de tags
(t)
*
" * 6 - arquivo de include
(i)
*
" * 7 - dicionrio
(K)
*
" *
*
" *
*
" complete=.,w,b,u,t,i,k
(*default*)
*
" *
*
" *
*
" **************************************************************************
"setlocal complete=.,w,k,t,i
set complete-=k complete+=k
"o comando acima ativa o formato i_Ctrl_n_Ctrl_n para ativar o dicionrio
" **************************************************************************
" *
*
" * Completa a palavra ignorando se maiscula ou minscula
*
" *
*
" **************************************************************************
setlocal infercase
"
"
"
"
"
"
"
"au
"
"
"
"
"
**************************************************************************
*
*
* se uma linha ultrapassar o valor estipulado em textwidth ela ser
*
* mostrada em destaque coloc-la em uma funo de liga desliga junto
*
* com uma que mostre as linhas e colunas de um arquivo em destaque
*
*
*
**************************************************************************
BufNewFile,BufRead * exec 'match Error /\%>' . &textwidth . 'v.\+/'
****************************************************************************
*
*
*
Proteo De Arquivos
*
*
*
****************************************************************************
" **************************************************************************
" * Arquivos somente de leitura, no permitido alter-los
*
" * dotfile
*
" *
*
" **************************************************************************
"augroup dotfile
" au!
" au BufRead .* set readonly
"augroup END
"
"
"
"
"
**************************************************************************
*
*
* Alguns tipos de arquivos devem ser ignorados pelo editor
*
*
*
**************************************************************************
set wildignore=*.o,*.obj,*.bak,*.exe
"
"
"
"
"
****************************************************************************
*
*
*
Configurao da barra de status
*
*
*
****************************************************************************
" **************************************************************************
" * Uma configurao interessante defini-la com tamanho de duas linhas e*
" * fundo com cor azul e fonte branca.
*
" *
*
" **************************************************************************
setlocal laststatus=2
"Mostrar duas linhas.
highlight StatusLine ctermfg=blue ctermbg=white "Fundo azul e fonte branca.
"
"
"
"
"
set
"
"
"
"
"
**************************************************************************
*
*
*
configurando o formato da rgua
*
*
*
**************************************************************************
statusline=%t%m%r%h%w
\%=[FORMATO=%{&ff}]
\[TIPO=%Y]
\[CHAR=%3{GetCharCursor()}]
\[ASCII=%03b]
\[HEX=%02B]
\[\ XY=%04v,%04l]
\[%03P]
****************************************************************************
*
*
*
Configurao do Ttulo
*
*
*
****************************************************************************
"
"
"
"
"
set
**************************************************************************
*
*
*
Mostra o nome do arquivo na parte superior do prompt
*
*
*
**************************************************************************
title
" **************************************************************************
" *
*
" *
Mostra a mensagem selecionada quando sair do VIM
*
" *
*
" **************************************************************************
"set titleold=Ivan\ Carlos\ Da\ Silva\ Lopes
" **************************************************************************
" *
*
" *
Tamanho da barra de ttulo
*
" *
*
" **************************************************************************
"set titlelen=78
" **************************************************************************
" *
*
" *
Exibe a barra de ttulo no formato configurado
*
" *
*
" **************************************************************************
" **************************************************************************
" * exemplo1:
*
" * --------*
" *
*
" * formato:"nome="NomeArq.EXT [se alterado mostrar +]
*
" * set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:~:.:h\")})%)%(\ %a%)
*
" *
*
" *
*
" * exemplos2:
*
" * ---------*
" *
*
" * set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p\")})%)%(\ %a%)
*
" *
*
" **************************************************************************
set titlestring=%<Nome=%t%m%r%h%w
\%=
\BUFFER=%n
\%(\ %a%)
\%28([TOTAL\ DE\ LINHAS=%L]%)
" -------------------------- [Formato] --------------------------------------" [Nome=nome]
buffer={current} [Total de linhas=999]
'
" ---------------------------------------------------------------------------"
"
"
"
"
"
"
"
"
****************************************************************************
*
*
*
Definindo o formato de edio dos textos
*
*
*
****************************************************************************
" **************************************************************************
" *
*
" * Define qual o tamanho da margem direita para a quebra de linhas
*
" * automticas
*
" * wrapmargin
*
" *
*
" **************************************************************************
"setlocal wm=10
" **************************************************************************
" *
*
" * Quando esta opo encontra-se ativa o VIM l o arquivo, e qualquer
*
" * comando de configurao que estiver nas cinco primeiras linhas e cinco*
" * ultimas do arquivo, sero executados. Um exemplo disso so os arquivos*
" * do help, onde as ltimas linhas a apresentam a seguinte sintaxe:
*
" * 'vim:tw=78:ts=8:ft=help:norl:'
*
" *
*
" **************************************************************************
setlocal modeline
" **************************************************************************
" *
*
" * Definindo tamanho da linha, isto , coluna onde a linha deve ser
*
" * quebrada" com a insero de fim de linha (<EOL>, abreviao de
*
" * end-of-line).
*
" *
*
" **************************************************************************
setlocal textwidth=78
" **************************************************************************
" * acentuao
*
" * ---------*
" *
*
" * SE no tiver suporte para acentuao
*
" * retire as aspas das linhas mapeadas abaixo
*
" *
*
" **************************************************************************
"map! 'a
"map! 'A
"map! 'e
"map! 'E
"map! 'i
"map! 'I
"map! 'o
"map! 'O
"map! ~a
"map! ~A
"map! ^a
"map! ^A
"map! `a
"map! `A
"map! ,c
"map! ,C
"map! ^e
"map! ^E
"map! ^o
"map! ^O
"map! ~o
"map! ~O
"map! 'u
"map! 'U
"
"
"
"
"
****************************************************************************
*
*
*
Definindo e trabalhando com histrico da linha de comando
*
*
*
****************************************************************************
" **************************************************************************
" *
*
" * histrico da linha de comando
*
" *
*
" **************************************************************************
setlocal cedit=<Esc>
"
"
"
"
**************************************************************************
*
*
* (^[ o caracter ESC)
*
* Habilitando a apresentao do histrico da linha de comando com o
*
"
"
"
"
"
"
" **************************************************************************
" *
*
" * (history) Define o tamanho do arquivo de histrico, onde <valor> o *
" * nmero de linhas de comandos a serem armazenados
*
" * setlocal hi=<valor>
*
" *
*
" **************************************************************************
setlocal hi=5000
" **************************************************************************
" *
*
" * Guarda posio do cursor e histrico da linha de comando :
*
" *
*
" **************************************************************************
setlocal viminfo='100,\"1000,:40,%,n~/.viminfo
"au BufReadPost * if line("'\"")|execute("normal `\"")|endif
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
"
"
"
"
"
****************************************************************************
*
*
*
Cores do sistema e formato de busca
*
*
*
****************************************************************************
" **************************************************************************
" *
*
" * Adicionando fundo escuro.
*
" *
*
" **************************************************************************
setlocal background=dark
" **************************************************************************
" *
*
" * Ligando configuraes de cor, isto , faz com que o vim busque no
*
" * diretrio /usr/share/vim/vim62/syntax os arquivos de configurao de *
" * cores de acordo com o tipo de arquivo que aberto
*
" *
*
" **************************************************************************
syntax on
" **************************************************************************
" *
*
" * Ativa o recurso de colorir, dando realce a pesquisa de palavra(s)
*
" * que estiver em andamento.
*
" *
*
" **************************************************************************
setlocal hlsearch
" ativa o contraste de cores
"hlsearch possui abreviao hls
" **************************************************************************
" *
*
" * O mtodo de busca pode ser incrementado com a adio do comando
*
" * incsearch". A pesquisa torna-se diferenciada e dinmica em tempo de
*
" * pesquisa, isto , antes do usurio entrar com o comando <enter> a fim *
" * de buscar os resultados, os mesmos j aparecero em sua tela.
*
" *
*
" **************************************************************************
setlocal incsearch
"
"
"
"
"
"
"
"
"
"
"
**************************************************************************
*
*
* Que tal trocar a cor do texto ?
*
* daquela seleo que aparece quando voc procura algo com o comando
*
* / ? fcil, basta definir a cor do componente da sintaxe. ah sim, a *
* opo hls (veja abaixo) deve estar ativa.
*
* voc pode colocar as cores que quiser, em ingls. note que
*
* ctermBG e FG, de background e foreground (fundo e letra). e veja
*
* tambm que o IncSearch (busca enquanto voc digita) invertido!
*
*
*
**************************************************************************
hi
Search ctermbg=yellow ctermfg=red
hi IncSearch ctermbg=green ctermfg=cyan
" **************************************************************************
" *
*
" * no vim temos diversas opes para modificar seu comportamento
*
" * atravs do comando set. para ver todas as opes disponveis, faa *
" * :setlocal all. diversas opes j vem ligadas por padro, ento
*
" * vamos mais opes de busca
*
" * IncrementedSearch, HighLightedSearch, IgnoreCase e SmartCaSe
*
" *
*
" **************************************************************************
setlocal ic scs
" opes espertas de busca
"
"
"
"
"
"hi
"hi
"
"
"
"
"
**************************************************************************
*
*
*
Cor da numerao lateral
*
*
*
**************************************************************************
LineNr
guifg=pink
ctermfg=lightMagenta
LineNr
guifg=green
ctermfg=lightGreen
****************************************************************************
*
*
*
configuraes especiais
*
*
*
****************************************************************************
"cores
"t_Co nmero de cores
"t_Sb tipo de cor do plano de fundo
"t_Sf tipo de cor da fonte
if &term =~ "xterm" || &term =~ "linux"
set background=dark
set t_Co=8
set t_Sf=[3%dm
set t_Sb=[4%dm
endif
" Delete key
if &term =~ "xterm"
set t_kD=[3~
endif
if argc() > 8
nmap > :bn<CR>
nmap < :bp<CR>
endif
" **************************************************************************
" * Faz o shift-insert comportar-se semelhante ao Xterm
*
" * Sendo assim voc seleciona um bloco de texto com o mouse
*
" * e cola com o boto do meio do mouse
*
" **************************************************************************
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
" **************************************************************************
" *
*
" * Utilizando a barra de espao para mover uma pgina
*
" *
*
" **************************************************************************
"noremap <Space> <PageDown>
"
"
"
"
"
"
"
"
set
**************************************************************************
*
*
* O dicionrio de portugus est associado ao comando dictionary
*
*
*
* Dicionrio para procurar o auto-complemento de palavras
*
*
*
*
*
**************************************************************************
dictionary=$ICPATHCONF/dict/portugues/portugues.api
"=============================================================================
"FUNCOES E MAPEAMENTOS PADROES
(VI-IMproved)
"=============================================================================
"
"
-- Funes bsicas usadas pelo editor vim -so $ICPATHCONF/func/funcBasicas.vim
so $ICPATHCONF/func/increment.vim
so $ICPATHCONF/func/blocos.vim
"so $ICPATHCONF/func/completingEqualShell.vim
"
"
-- Mapeamento das funes e teclas -so $ICPATHCONF/mapa/mapa.vim
so $ICPATHCONF/mapa/mapafuncBasicas.vim
"
"
"
"
-- Abreviaes de palavras -source $ICPATHCONF/abbreviation/acento.vim
"
"
-- Lendo Manpage no editor
runtime ftplugin/man.vim"
"
"
"
-- Exportando o arquivo -"
" Exporta o arquivo no formato html.
cab buffer2html
\ :source $ICPATHCONF/syntax/2html.vim<cr>
\ :%s/<pre>/<pre>\r<font size=+2>/g<cr>
\ :%s/<\/pre>/<\/font>\r<\/pre>/g<cr>
\ :wq<cr>
\ :echo "O buffer " . expand("%p:r") . " foi impresso no formato HTML"
"
" Mapeamento
cmap cor Cor
com -nargs=1
com -nargs=0
\|
\|
\|
\|
\|
\|
\|
\|
\|
ida")
\|
\|
augroup SH
au!
" Definindo a configurao de arquivos sh
"confgurao: {{{
"
" evento: se o arquivo no existe em disco
" Carrega configuraes pessoais do arquivo, como cores, mapeamento de
" teclado, tipo de comentrio e configurao de IDE para o Gsh.
autocmd BufNewFile,BufReadPre *.sh
\ so $ICPATHCONF/autocom/sh.autocom.vim
"}}}
augroup END
augroup algoritmo
au!
" Definindo a configurao de arquivos algoritmo
"confgurao: {{{
"
" evento: se o arquivo no existe em disco
" Carrega configuraes pessoais do arquivo, como cores, mapeamento de
" teclado, tipo de comentrio e configurao de IDE para o Gvim.
autocmd BufNewFile *.algoritmo so $ICPATHCONF/autocom/algoritmo.autocom.vim
"
" evento: se o arquivo no existe em disco
" Carrega um esqueleto do tipo de arquivo que est sendo editado. O
" interessante nesse trexo de cdigo a segunda linha que ilustra como
" chamar uma funo ou executar um comando quando um
" buffer criado pela primeira vez.
autocmd BufNewFile
*.algoritmo
\ 0r $ICPATHCONF/skeleton/algoritmo.skeleton.vim
autocmd BufNewFile
*.algoritmo
\ exe "%s/_NOME_/" . expand('%:r') . "/g"|
\ exe "%s/_DATA_/" . strftime('%d\/%m\/%Y') . "/g"
"
" evento: lendo arquivo (*O ARQUIVO EXISTE EM DISCO*)
" posiciona o cursor na primeira ocorrncia da palavra 'incio'
autocmd BufRead
*.algoritmo 1;/incio
"
" evento: Entrando e saindo do arquivo (*O ARQUIVO PODE OU NO EXISTIR*)
" ao entrar acrescenta dicionrio novo, e retira dicionrio de palavras
" ao sair.
autocmd BufEnter *.algoritmo set
\ dict+=$ICPATHCONF/dict/algoritmo/algoritmo.api
autocmd BufLeave *.algoritmo set
\ dict-=$ICPATHCONF/dict/algoritmo/algoritmo.api
"}}}
augroup END
augroup MarkupLanguage
au!
" Linguagens de marcao
" <: (*.htm, *.html, *.xml, *.xhtml, etc.) :>
"confgurao: {{{
"
" evento: se o arquivo no existe em disco
" Carrega configuraes pessoais do arquivo, como cores, mapeamento de
" teclado, tipo de comentrio e configurao de IDE para o Gvim.
autocmd BufNewFile,BufReadPre *.html,*.htm
\ so $ICPATHCONF/autocom/html.autocom.vim
**************************************************************************
* GVIM
*
* ---*
* Manter a compatibilidade de cdigo mais que necessrio para a
*
* edio com o vim. Dessa forma qualquer mudanca de sistema operacional *
* no ir alterar o funcionamento do editor.
*
*
*
**************************************************************************
if has("gui_running")
" tamanho da janela:
set lines=65
set columns=120
winpos 0 0
" definio de fonte
set guifont=Courier_New:h14:cANSI
" set guifont=Courier:h15:cANSI
" Minha cor preferida.
call ColoreTerminal(4)
" Menu Default
source $ICPATHCONF/ide/menu.vim
"----------------------------------------------------------------------------function ActiveDebug()
if !exists('g:botao')
call Message('info',"-- Debugador ativo com a tecla <F4>
--")
map <F4> \D1
let g:botao=1
else
call Message('warning',"-- Debugador inativo <F4> Libera
da --")
unmap <F4>
unlet g:botao
endif
endfunction
"----------------------------------------------------------------------------"
"
"
"
"
"
"
"
-- C O R E S --
" Um dos poucos bons livros sobre SHELL em portugus que vai alm do
" bsico. Alm de mostrar algumas tcnicas de programadores experientes em
" SHELL-SCRIPT
"
"
"
D. Editor Vi - By Roberto Severo de A. Coelho
"
Publisher: NOVATEC Editora Ltda.
"
"
" Esse nico livro sobre VI brasileiro. Apesar de no enfatizar
" com profundidade o potencial do VI imprescindvel a leitura do mesmo,
" por iniciastes e entusiastas do UNIX.
"
"
"
E. Learning the Vi Editor - by Linda Lamb&Arnold Robin
"
Publisher: O'Reilly & Associates Inc.
"
"
" fundamental a sua leitura para todo aquele que deseja utilizar o Editor
" VI e seus clones de forma eficiente e produtiva.
"
"
"
F. Site oficial do VIM
"
Mantenedor: Bram Moolenaar <bram@vim.org>.
"
HomePage do vim na WWW:
"
http://www.vim.org/
"
"
" a principal fonte de atualizaes do editor VIM, alm de centenas de
" exemplos de escripts e tutoriais sobre os mais diversos tpicos do editor.
"
"
"=============================================================================
"C R E D I T O S
(VI-IMproved)
"=============================================================================
" Esse arquivo dotfile do VIM foi em quase toda sua plenitude baseado no
" arquivo .vimrc de Aurelio Marinho Jargas.
"
" Aurlio Marinho Jargas desenvolvedor de software livre tem dois livros
" publicados e escreve com regularidade artigos sobre ferramentas LINUX-like
" e sobre a comunidade com muito bom humor.
"
" Dentre os softwares temos txt2tags, RAC, txt2regex e SedSoKoban
"
" Com relao aos livros temos O Guia de Expresses Regulares e Apostila
" do Curso de Shell.
"
"SITE:http://aurelio.net/
"
"
" ,----------------[ http://www.del.ufrj/~ivanczar/ ]------------------------.
" | 1. Sempre que voc pegar um trecho de cdigo de algum da comunidade
|
" |
informe seu nome, site e mail. Pois uma comunidade construda com |
" |
boas relaes de seus participantes.
|
" |
|
" | 2. Desencorajo qualquer cpia de documento no autorizada pelo autor da |
" |
obra ou editora.
|
" |
|
" | 3. A compra de bons livros de autores nacionais deve ser estimulada pela|
" |
comunidade. Como o incentivo aos mesmos que continuem a utilizar seu |
" |
talento e perspiccia na produo de livros de qualidade em bom
|
" |
portugus.
|
" |
|
" |
|
" |
Ivan Carlos Da Silva Lopes
|
" |
|
" `--------------------------------------------------------------------------/
"
"
"=============================================================================
"D I C A S
(VI-IMproved)
"=============================================================================
"
" 1. Lendo manpage:
" $ man assunto | col -b | vim " - no gvim (modo Ex)
"
:new|read!man tar|col -b
"
" 2. Abrir todos os arquivos que contenham uma determinada palavra.
" $ vim `fgrep -l <palavra> *.ext`
"
" 3. Mapeamento para inserir linha com repetio de char
"
:map - <Esc>o<Esc>78a-<Esc>
"
:let @q="*"|normal i" 6"qp
"
"
" 4. Mapeamento para Ctrl-key
"
"
exemplo01: mapeando a tecla Ctrl-t
"
:map iOla Mundo
"
"
exemplo02: mapeando a tecla Ctrl-a
"
:map iOla Mundo
"
"
exemplo03: mapeando a tecla Ctrl-a
"
:map <c-a> iOla Mundo
"
"
exemplo04: mapeando a tecla Ctrl-a
"
:map <char-1> iOla Mundo
"
"
" 5. Filtrando comandos internos.
"
Exemplo01:
"
1,10m$|g/Essas/ p
"
Exemplo02: move bloco de texto para ltima linha do arquivo e substitui
"
'Essas' por 'Aquelas' dentro do bloco.
"
1,10m$|s/Essas/Aquelas/g
"
" 6. Contando os padres encontrados na edio.
"
:let i=0|%g/{padrao}/let i=i+1
"
:echo i
"
" 7. Mapeamento.
"
- Qual o mapeamento de <F4> ? :map <F4>
"
- Quais os mapeamentos dos comandos que iniciam por ; ? :map ;
"
"
mapea
modo
limpar
exemplo
"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"
map
n
unmap
map <F5> :Ex<cr>
"
+-----> map!/imap
i
unmap!
imap ff File folder
"
|
iabb[rev]
i
una[bbreviate] iabbr oi oiMundo
"
+-----> cmap
lc
cunmap
cmap oi echo "oi mamae"
"
|
cab
lc
cuna
cab oi echo "Oi"
"
|
-------------------------------------------------------"
|
"
+--------------- no necessrio <spao> e/ou [enter] aps comando.
"
" n/c - modo normal ou modo de comando
" i - modo de insero
" lc - modo de linha de comando
" v - modo visual
" R - Reposio
" B - Busca
"
" sintaxe : comando-Mapeador {key[[key]...]} {comando[s]}
"
"
- Formato define-mapeia ou mapeamento referenciado
"
" sintaxe:
" nnoremap
\{nomeExterno}
{comando[s]}
" {map-modo01} {combinao-tecla[s]02} \{nomeExterno}
" {map-modo02} {combinao-tecla[s]03} \{nomeExterno}
" {map-modo03} {combinao-tecla[s]04} \{nomeExterno}
"
"
exemplo:
"
nnoremap \key :let @m="oi gente"<cr>:put m<cr>
"
nmap <F5> \key
"
imap <F5> <c-o>\key
"
" abreviacoes
" ----------"
"
ab
- mostra todas as abreviaes
"
abc[lear] - limpa todas as abreviaes
"
iab
- mostra todas as abreviaes do modo de insero
"
iabc[lear] - limpa todas as abreviaes do modo de insero
"
cab
- mostra todas as abreviaes do modo de comando
"
cabc[lear] - limpa todas as abreviaes do modo de comand
"
"
" 8. Movimentao por links:
"
"
movimentao '{char}
"
para linkar
:<range> mark {char}
"
" 9. Lendo man page ou help de programas externos:
"
read !man dc|col -b
"
read !bc --h
"
" 10. Convertendo formato entre janelasr:
"
"
- convertendo do formato horizontal para o vertical.
"
"
W|W|W
"para
"
W
"
W
"
W
"
"
:windo wincmd K
"
"
"
- convertendo do formato vertical para o horizontal.
"
"
W
"
W
"
W
"para
"
W|W|W
"
"
:windo wincmd H
"
" 11. Numerando linhas selecionadas
"
"
- usando um comando linux externo:
"
"
:'<,'>!cat -n
"
:3,10!cat -n|tr '^I' '-'
"
"
"
- usando Vim-Script:
"
"
- com varivel
"
a) let i=0|'<,'>g/^/let i=i+1|s//\=i/g
"
b) let i=0|'a,'eg/^/let i=i+1|s//\=i/g
"
c) let i=0|2,200g/^/let i=i+1|s//\=i/g
"
"
- com registro
"
a) let @s=0|'<,'>g/^/let @s=@s+1|s//\=@s/g
"
b) let @s=0|'a,'eg/^/let @s=@s+1|s//\=@s/g
"
c) let @s=0|2,200g/^/let @s=@s+1|s//\=@s/g
"
"
- com funcoes do Vim
"
a) '<,'>s/^/\=(line('.') - line("'<") + 1)/g"
"
b) 's,'qs/^/\=(line('.') - line("'s") + 1)/g"
"
c) '20,46s/^/\=(line('.') - 20 + 1)/g"
"
"
- com minhas prprias funcoes
"
"
a) '<,'>s/^/\=INC(1)/g"
"
"
" +====================+====================+====================+
" |
valor
| :echo (valor)
| :echo strlen(valor)|
" +====================+====================+====================+
" | 987654321 % 10
|
1
|
1
|
" | 987654321 % 100
|
21
|
2
|
" | 987654321 % 1000 |
321
|
3
|
" | 987654321 % 10000 |
4321
|
4
|
" | 987654321 % 100000 |
54321
|
5
|
" | 987654321 % 1000000|
654321
|
6
|
" +--------------------+--------------------+--------------------+
"
:let c=3|let s=20|exec "normal i+ ".c."i".Espaco(s,'-')."+"
"
insere a linha da tabele acima
"
"
" 12. invertendo linhas em arquivo:
"
"
:'<,'>g/^/m '<
"
:25,67g/^/m 25
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
set
set
set
let
set
set
let &l:makeprg
makeprg=make\ #<.o
efm=%EError\ %n,%Cline\ %l,%Ccolumn\ %c,%Z%m
makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
&mp = 'latex \\nonstopmode \\input\{$*}'
makeprg=gcc\ -o\ $*\ $*
efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
CERTO
"=============================================================================
" vim: set fdm=marker tw=78:ts=3: