Abrir arquivo baseado na palavra (parte) sob o cursor

1

Ao editar arquivos PL / SQL, procuro uma maneira de abrir um arquivo com base em uma palavra sob o cursor e, preferencialmente, pulo para uma determinada posição.

Os arquivos estão todos localizados no mesmo diretório.

Exemplo de arquivo app_dummy.pkb contém:

begin
  dbms_output.put_line('Example');
  app_package.procedure1( i_input1 => 'mmm' );
exception
  when others then raise...
end;

Procurando uma maneira de abrir o app_package.pkb (a extensão é conhecida) em outro buffer e mover o cursor para procedure1.

Eu sei que há ctags, mas nem todos os sistemas em que eu trabalho têm isso disponível.

    
por Pigna 20.07.2011 / 11:39

1 resposta

2

nmap <F2> yiw2w:split +/<C-R><C-W> <C-R>0.pkb<CR>

Com o cursor sobre o nome do pacote, pressionar F2 abrirá um novo buffer contendo um arquivo chamado < package & pt_br; .pkb e procurará a string após o arquivo. após o nome do pacote.

yiw - puxa a palavra sob o cursor (o nome do pacote)
2w - move o cursor duas palavras para a direita (onde. conta como uma palavra)
:split - divide o window
+ - introduz um comando para ser executado na nova janela
/ - inicia uma pesquisa
<C-R><C-W> - insere a palavra sob o cursor (o nome do procedimento)
<C-R>0 - insere o conteúdo do registrador 0 (zero), o registrador yank de .pkb - adiciona o sufixo do arquivo <CR> - finaliza e executa o comando: split

Esses caracteres são digitados literalmente. Por exemplo, <C-R> é a sequência de cinco caracteres < C - R > . Eles não devem ser substituídos por um Ctrl-R quando você os digita.

Veja

:help :split_f
:help c_CTRL-R
:help registers
    
por 22.07.2011 / 02:53

Tags