! XDG открыть <url> не открывается сайт в браузере по умолчанию </url>

1042
Maxim Kim

Я использую gvim 7.3.401 на archlinux. Команда shell :!xdg-open http://www.vim.orgне открывает мой браузер по умолчанию с этой ссылкой. На самом деле, похоже, ничего не делает.

Это работает как положено в терминале VIM

Как я могу заставить его работать в gvim?

6
Оба прекрасно работают для меня в системе Fedora 11, так как они открывают этот URL в Konqueror, хотя они оба выводят сообщение об ошибке, подобное этому: "(25702) / ClientApp :: doIt: Создание ClientApp ". Возможно, ваши среды отличаются между vim и gvim. Попробуйте выполнить":! Env> gvim_env "в gvim и":! Env> vim_env "в vim, а затем в оболочке выполнить" vimdiff gvim_env vim_env "чтобы увидеть различия. Возможно, вам придется отсортировать эти файлы, чтобы различия имели смысл. garyjohn 12 лет назад 0
Разница лишь в том, что vim_env имеет TERM = xterm, gvim_env TERM = тупой Maxim Kim 12 лет назад 0
Он работает на моем Debian Squeeze Box с gnome2, но не на моем ноутбуке с archlinux и gnome3 Maxim Kim 12 лет назад 0
Боюсь, я в тупике. Извините, я не мог помочь. garyjohn 12 лет назад 0

2 ответа на вопрос

8
sappjw

Пытаться :!xdg-open http://www.vim.org &

У меня была такая же проблема, пока я не увидел, как это делает LaTeX-Box .

У меня была похожая проблема здесь: http://stackoverflow.com/q/15880689/152439. Поскольку ваш ответ помог мне, не стесняйтесь отвечать на мой вопрос, и я приму. andreas-h 11 лет назад 1
Может кто-нибудь объяснить, почему это работает, а оригинал нет? Ciro Santilli 新疆改造中心 六四事件 法轮功 9 лет назад 0
2
derenio

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

:!xdg-open http://www.vim.org

Немедленно возвращает и, по-видимому (*) xdg-openвнутренний асинхронный вызов Xзавершается, тогда как перевод вызова в фоновый режим (как предполагает sappjw ) не выполняется:

:!xdg-open http://www.vim.org &

(*) - поправьте меня, если я ошибаюсь

Ваша теория кажется правильной, поскольку `:! Xdg-open http://www.vim.org; сон 2` тоже работает. Ciro Santilli 新疆改造中心 六四事件 法轮功 8 лет назад 0