gvim windows netrw filehandler html elinks configuration
Я использую gvim 7.3, 32-битная версия графического интерфейса пользователя MS-Windows с поддержкой OLE
Я пытаюсь настроить обработчик файлов netrw для открытия локально сохраненных файлов.html в браузере elinks, а не в браузере firefox. Файл справки для netrw ссылается на параметр, который можно поместить в файл.vimrc:
:let g:netrw_browsex_viewer= " "
это также говорит о том, что
"для Windows 32 или 64 используются URL-адреса и DLL-файлы FileProtocolHandler".
Я пытался ввести путь к файлу elinks, исполняемый между кавычками, но безрезультатно. Мои поиски в Интернете до сих пор не выявили практических примеров работы с URL-адресами и DLL-файлами FileProtocolHandler в vim.
Буду очень признателен за любую помощь.
ГФРО
3 ответа
Это позволяет вам запускать правильный просмотрщик файлов для всех типов файлов: (powerpoint ppt, excel xls, chrome html, vlc on video) и любого, с чем связан проводник Windows. В Windows7 поместите командный файл expl2.cmd в путь vim.
В vimrc ставь
:let netrw_browsex_viewer='expl2.cmd'
В gvim используйте gx на cfile для запуска explorer.exe, он запустит корректную программу просмотра, например, powerpoint, firefox, chrome. Примечания: вторая строка преобразует косую черту в обратную. Если в вашем имени файла есть пробелы, vim не будет расширять cfile.
c:> cat expl2.cmd
set file=%1
set file=%file:/=\%
start explorer.exe /n,/e,/root,%file%
Я также написал этот ответ в gvim Windows 7 netrw open url под текстовым курсором, так как он появляется первым в Google.
Вы пытаетесь "отредактировать" html-файл (т.е.:e somefile.html)?
Попробуйте положить
:let g:netrw_http_cmd= "path_to_elinks"
в вашем.vimrc
g:netrw_browsex_viewer предназначен для определения универсальной программы, с которой можно что-то открывать. Таким образом, хотя он может указывать ссылку на elinks для html-файлов, он будет разбивать файлы jpg/pdf/etc. В Windows может быть наиболее целесообразно использовать "start", который использует ассоциации файлов Window. Поскольку это не настоящая программа, вы можете создать командный файл:
start %*
Поместите это в c:\stuff\magicopen.bat и let g:netrw_browsex_viewer = 'c:/stuff/magicopen.bat'
(Путь не имеет значения, но косые черты имеют значение!)
В качестве альтернативы вы можете использовать netrw в netrw_filehandler:
"" Tell netrw to use internal filehandlers if possible
let g:netrw_browsex_viewer= "-"
"" Define an html filehandler
function! NFH_html(filename)
execute ':!start elinks '. a:filename
endf
"" Just in case, handle htm files too
function! NFH_htm(filename)
call NFH_html(a:filename)
endf
При необходимости измените внутреннюю часть NFH_html (абсолютный путь к elinks, аргументы вызова, добавьте больше! Start options - смотрите :help !start
).