Como consultar a documentação do PHP direto do Vim

Olá! Descobri recentemente que é possível baixar a documentação do PHP no formato do man do UNIX. Isso é muito bom, já que assim, podemos consultar funções com parâmetros, variáveis e exemplos. Melhor, podemos fazer isso direto do Vim.

Eu já tinha lido sobre uma opção do Vim chamada keywordprg, mas nunca havia encontrado uma serventia. Quando eu li no blog do bjori, realmente me veio à mente como eu poderia utilizá-la.

Eu instalei a última versão do pear aqui, e executei os comandos que ele cita no blog:

pear install doc.php.net/pman

Eu precisei aumentar a memória do php.ini (memory_limit), 32M não foi o suficiente.

O manual será instalado no diretório especificado em “doc_dir” da configuração da pear e o executável no “bin_dir“. Para verificar as configurações atuais:

pear config-show # Mostra todas as configurações atuais
pear config-get bin_dir # Mostra configuração atual da opção bin_dir
pear config-get doc_dir # Mostra configuração atual da opção doc_dir
# Para modificar:
pear config-set bin_dir /outro/bin
pear config-set doc_dir /outro/docs

Depois de instalado, você pode utilizar ele tanto no Vim quanto fora do Vim:

pman array_merge

Bom, se lembra que eu havia falado sobre o keywordprg ? Assim como o makeprg é o programa executado ao se executa :make no Vim e o grepprg o comando executado ao se executar :[grep|vimgrep], o keywordprg é executado quando se preciona K (k maiúsculo) sobre alguma palavra chave – que no nosso caso será uma função php.

O artigo citado ali em cima, indica para colocarmos no .vimrc, mas eu acho mais interessante por no .ftplugin/php.vim (se o arquivo não existir, crie). Assim, só será carregado caso o tipo do arquivo for php, possibilitando utilizar outros programas para outras linguagens

" Programa executado quando pressionado K
set keywordprg=pman

Agora faça o teste: abra um arquivo php, coloque o cursor sobre alguma função e pressione K. Para fechar o manual aberto, basta precionar q. Pode-se utilizar a busca com /termo e também navegar nos resultados com n/N. j/k/UP/DOWN movem o arquivo para cima e para baixo, normalmente, como se fosse um manpage.

Eai, este post ajudou em algo?

Posts Relacionados

Por favor, se você deseja opinar, criticar ou até mesmo mandar uma receita de bolo, deixe um comentário! Ou fique atento aos feeds.

Comentários

Nosso auto-didatismo não para mesmo, fuçadores que somos temos sede insaciável por estas dicas tão maravilhosas, valeu!

Gustavo, me ocorreu que você poderia criar um ‘augroup’, ou seja autocomando para o grupo específico de arquivos php

augroup filetypedetect
” Programa executado quando pressionado K
au BufNewFile,BufRead *.php set keywordprg=pman
augroup END

isso é só uma ideia, testa aí e me diz, pois assim podemos acessar outras documentações seguindo o mesmo princípio.

Sim Sérgio, eu pensei no aucommand a princípio, porém não estava certo dos eventos que iria interefirir, não tinha certeza que só BufNewFile e BufRead seriam suficiente.

Sabe se der um :set syntax=php ele também dispararia este evento? Por via das dúvias decidi por no ftplugin! Talvez não tenha sido a melhor opção, visto que não é “plugin” hehehe

Vlw pela dica e pela motivação!

Cara… Adorei isso aí!

Vou aplicar! :D

Eu teria, talvez, permissão para reproduzir este artigo no meu blog?

Obrigado! :)

Que bom que gostate! Pode reproduzir, sim! Passe o conhecimento adiante =)

Deixe um comentário

(obrigatório)

(obrigatório)