Как мне открыть http: // localhost в моем веб-браузере из Vim?

По сути, я хочу сказать Виму:

  1. Откройте мой веб-браузер (например, Firefox)
  2. Откройте этот файл (скажем, index.php) по этому адресу: http://localhost
  3. Другими словами: http://localhost/index.php

PS: К сожалению, я использую Windows XP


person alexchenco    schedule 11.01.2010    source источник
comment
По сути, Vim - это редактор, я думаю, для этого вам нужно написать сценарий оболочки. Спасибо   -  person Mahesh Velaga    schedule 11.01.2010


Ответы (4)


Если вы используете Vim в Windows, это будет работать:

:! start http://localhost/index.php

Это будет использовать браузер по умолчанию, если вы хотите запустить конкретный браузер, вам понадобится явный путь к исполняемому файлу (вместо start).

Из Vim help cmd:

:! {cmd}

Выполните {cmd} с помощью оболочки. См. Также параметры "оболочка" и "тип оболочки".

Очевидно, что если вы используете другую систему, вам просто нужно использовать команду appopriate, чтобы запустить браузер на этой платформе.

person RedBlueThing    schedule 11.01.2010
comment
спасибо, это сработало: запустите localhost / index.php file: ///%: p (открыл мой текущий файл в localhost) - person alexchenco; 11.01.2010

на Mac вы можете

:!open http://localhost/index.php
person Peter    schedule 11.01.2010

В Unix / Linux используйте

:! firefox http://localhost/%:p

%: p - это путь и имя файла текущего буфера

person Sam Post    schedule 11.01.2010
comment
Откроется ли это в текущем экземпляре Firefox, если он уже открыт? - person technomalogical; 11.01.2010

Вам нужно будет использовать метод, соответствующий вашей среде, для запуска веб-браузера, , но вы уже задавали вопрос об этом.

Итак, используйте :!start cmd /c ..., !d:\path\to\firefox ... или что угодно. Важный момент: вы захотите использовать "http://localhost/" . expand("%:t") в качестве аргумента, передаваемого браузеру. Итак, сделайте что-нибудь вроде

:exec ":!start cmd /c ... " . "http://localhost/" . expand("%:t")
                         ^- leave a trailing space here

РЕДАКТИРОВАТЬ: Пояснение: expand("%:t") - это выражение сценария Vim, которое расширяется до последнего компонента текущего имени файла. В Windows это означает, что если текущее имя файла C:\a complicated path\to\index.html, expand("%:t") вернет index.html.

HTH.

person Michał Marczyk    schedule 11.01.2010
comment
Кроме того, вы можете использовать %:t в командах ex (команды, начинающиеся с двоеточия) для обозначения последнего компонента пути редактируемого файла, что означает базовое имя файла (например, index.html в C:\path\to\index.html). - person Michał Marczyk; 11.01.2010