Определить тип файла в суженной области

Определить тип файла в суженной области

Я использую потрясающийNrrwRgnплагин. Я часто редактирую XML-файлы с PHP в разделах CDATA, поэтому в суженном буфере получаю это:

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

Как я могу идентифицировать суженную область как PHP, когда это PHP, и как XML или что-то еще, когда это что-то еще? Обратите внимание, что даже в этом примере, выбрав раздел PHP с vit\nrтегами CDATA, они все еще там, так что технически это некорректно сформированный XML, а не PHP.

решение1

Я не смог найти решение этой проблемы, поэтому остановился на

nnoremap <leader>js set ft=javascript

Мне тоже интересно решение.

решение2

Я не совсем уверен, я полностью понимаю, чего вы хотите. Плагин NrrwRgn должен автоматически устанавливать тип файла суженного окна на тип исходного буфера. Если это не то, что вам нужно, вы можете, однако, подключиться к команде NrrwRgn при создании и закрытии окон. Итак, вот что вы можете сделать:

Создайте файл ~/.vim/after/ftplugin/php.vim(создайте несуществующие каталоги, в Windows это будет $VIM/vimfiles/after/ftplugin/php.vim, где $VIM — это любой каталог, который вам укажет vim при запуске :echo $VIM) и поместите в него:

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

И в вашем .vimrcвы поместили это:

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

Это все, что нужно настроить, и затем всякий раз, когда вы будете сужать что-либо в файле php, ему будет автоматически присвоен тип файла php.

Убедитесь, что плагины типов файлов включены (это можно сделать, добавив filetype plugin onв файл .vimrc.

Связанный контент