Abridor de Módulo Perl Interno vim

Bem, na verdade ‘gf’ se sai muito bem, mas em alguns casos não funciona. Por exemplo:

my $obj = Foo::Bar->new;

… portanto, esta é AINDA OUTRA FORMA de fazer isso;) …

Coloque essas três linhas em seu vimrc e deixe seus dedos repousarem um pouco:

map <Leader>omv y<C-w>np0ie lib/<esc>A.pm<esc>:%s/::///g<CR>:noh<CR>v$y:bd!<CR>:<C-r>0<CR>
map
<Leader>om 0f<Space>eT<Space>vt;<Leader>omv
map
<Leader>oms 0f<Space>eT<Space>vt<Space><Leader>omv

NOTA

Ele assume que seus módulos estão no diretório lib / e você opera a partir do diretório de nível superior do seu projeto. Altere a lib para o que quiser se a sua lib não estiver na lib 🙂 …

Qual o proximo?

Quando você vê:

use Foo::Bar;

… tipo

<Leader>om

Quando você vê:

use Foo::Bar qw(baz);

… tipo

<Leader>oms

e quando você vê:

my $var = Foo::Bar->new;

… nome e tipo do módulo visual

<Leader>omv

Novamente, sinta-se à vontade para alterar os atalhos se eles não forem convenientes o suficiente.

O que eles fazem?

  • Visualiza o módulo ou pede a você
  • Abre uma nova janela e cole lá
  • Substitui :: por /
  • Puxa
  • Abre usa o registro 0