
Estou usando o ótimoNrrwRgnplugar. Costumo editar arquivos XML com PHP em seções CDATA, então, no buffer restrito, recebo o seguinte:
<![CDATA[
$foo='bar';
doSomething($foo);
]]>
Como posso identificar a região restrita como PHP quando é PHP e como XML ou outra coisa quando é outra coisa? Observe que mesmo neste exemplo, ao selecionar a seção PHP com vit\nr
as tags CDATA ainda estão lá, então tecnicamente este é um XML não bem formado, não PHP.
Responder1
Não consegui encontrar uma solução para esse problema, então me conformei
nnoremap <leader>js set ft=javascript
Eu também estou curioso por uma solução.
Responder2
Não tenho certeza, entendo perfeitamente o que você quer. O plugin NrrwRgn deve definir automaticamente o tipo de arquivo da janela estreitada para o buffer original. Se não for isso que você deseja, você pode 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, seria $VIM/vimfiles/after/ftplugin/php.vim
, onde $VIM é qualquer diretório que o vim lhe diga, 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 sempre que você restringir algo de um arquivo php, ele será automaticamente definido para o tipo de arquivo php.
Certifique-se de que os plug-ins de tipo de arquivo estejam ativados (faça isso colocando algo como
filetype plugin on
em seu arquivo .vimrc
.