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).

Другие вопросы по тегам