Geralmente o primeiro contato com o vimscript é através do arquivo /etc/vimrc, onde o vim lê esse arquivo quando inicia e executa os comandos.
Imprimindo mensagens:
echo "Hello World"
echom "Hello Marte"
Comentários:
" exemplo de comentário
Setando opções:
O set pode ter as opções booleanas ("on" ou "off") ou que contêm algum valor. O number é uma opção booleana:
:set number " seta como on
:set nonumber " seta como off
Mapeando:
É possível mapear as teclas e definir nossa própria tecla de atalho:
:map - x " ao apertar "-" temos o mesmo efeito do x (cortar a letra selecionada).
:map e >>4 " pressionando a tecla "e" pulamos 4 espaços.
Podemos tb mapear as teclas no modo normal, visual e de inserção.
:nmap n :set number " no modo normal
Mapeia a tecla n para inserir números de linhas.
No modo visual (aperte [ESC] + gv):
:vmap \ U
Mapeia a tecla \ para executar a função U (uppercase).
No modo de inserção:
:imap <c-d> dd
Mapeia a tecla Ctrl+D para deletar a linha selecionada.
Mapeando sequencias de letras:
:nnoremap -c dd0
Ao apertar o -c vai detelar a linha e entrar no modo de inserção.
Definindo Variáveis:
O Vim possui vários tipos de variáveis disponíveis por prefixos: $ para variáveis de ambiente, & para opções e @ para registros.
:echo "Home:" $HOME
:echo "Filetype:" &filetype
:echo "Register:" @a
Você pode criar suas próprias funções:
:function ContadorDeLetras()
: let len = strlen(getline("."))
: echo len
:endfunction
:echo ContadorDeLetras()
O script acima vai imprimir o número de caracteres da linha selecionada.
Primeiro Script:
primeiro.vim:
if has("gui_running")
colorscheme desert
else
colorscheme darkblue
endif
Se estiver rodando o gvim o esquema de cores ficará como desert, se não, ficará com o tema azul escuro.
colorscheme desert
else
colorscheme darkblue
endif
Se estiver rodando o gvim o esquema de cores ficará como desert, se não, ficará com o tema azul escuro.
Executando:
Para executar use o :source no modo de comando do vim:
:source /caminho/do/script/primeiro.vim
Codificando Python no Vim:
Primeiro verifique se existe o suporte da linguagem python.
:echo has("python")
Se aparecer o 1 no canto da tela quer dizer que vc possui a linguagem python.
segundo.vim
if exists("loader_related")
finish
endif
let loaded_related = 1
function Contador()
python <<EOF
import vim
print "Tamanho dessa linha", len(vim.current.line)
EOF
endfunction
O código acima faz a mesma coisa que o ContadorDeLetras(), conta os caracteres da linha selecionada.
Para que o interpretador python leia o código é usado o EOF , todo o texto depois do <<EOF até o EOF será passado para o interpretador python.
Executando a função:
:source /caminho/do/script/segundo.vim
:call Contador()
terceiro.vim
function! GetHTML()
python << EOF
import vim, urllib2
from bs4 import BeautifulSoup
soup = urllib2.urlopen(vim.current.line).read()
print soup
EOF
endfunction
Esse código vai imprimir o código fonte do site da linha atual (vim.current.line).
Fontes:
http://learnvimscriptthehardway.stevelosh.com/
http://www.ibm.com/developerworks/br/library/l-vim-script-1/http://learnvimscriptthehardway.stevelosh.com/
http://vimdoc.sourceforge.net/htmldoc/usr_41.html#script
http://files.swaroopch.com/vim/byte_of_vim_v051.pdf
http://www.techrepublic.com/article/extending-vim-with-python/
http://codeseekah.com/2012/03/04/vim-scripting-with-python-lookup-ip-country/
0 comentários:
Postar um comentário