Detectar filetype na região restrita

2

Estou usando o fantástico plug-in NrrwRgn . Eu freqüentemente edito arquivos XML com PHP em seções CDATA, então no buffer reduzido eu recebo isto:

<![CDATA[                        
$foo='bar';
doSomething($foo);
            ]]>

Como posso ter a região restrita identificada como PHP quando é PHP e como XML ou outra coisa quando é outra coisa? Observe que, mesmo neste exemplo, ao selecionar a seção do PHP com vit\nr , as tags CDATA ainda estão lá, portanto, tecnicamente, isso não é um XML bem formado, nem PHP.

    
por dotancohen 03.07.2012 / 20:03

2 respostas

1

Não consegui encontrar uma solução para este problema, pelo que decidi

nnoremap <leader>js set ft=javascript

Eu também estou curioso para uma solução.

    
por 03.07.2012 / 20:28
1

Eu não tenho certeza, eu entendo completamente o que você quer. O plugin NrrwRgn deve definir automaticamente o tipo de arquivo da janela reduzida para a do buffer original. Se isso não é o que você deseja, você pode, no entanto, conectar-se ao comando NrrwRgn na criação e fechamento das janelas. Então, aqui está o que você poderia fazer:

Crie um arquivo ~/.vim/after/ftplugin/php.vim (crie diretórios inexistentes, no Windows, isso seria $VIM/vimfiles/after/ftplugin/php.vim , onde $ VIM é qualquer diretório que o vim lhe disser, ao emitir :echo $VIM ) e coloque nele:

let g:nrrw_custom_options={}
let g:nrrw_custom_options['filetype']='php'

E no seu .vimrc você coloca isso:

let b:nrrw_aucmd_close= "unlet! g:nrrw_custom_options"

Isso deve ser tudo o que precisa ser configurado e, em seguida, sempre que você restringir algo de um arquivo php, ele será automaticamente configurado para filetype php.

Certifique-se de que os plug-ins de tipo de arquivo estejam ativados (você faz isso, colocando algo como filetype plugin on no seu .vimrc .

    
por 05.07.2012 / 13:43