Открыть текущий файл в веб-браузере в Vim - PullRequest
12 голосов
/ 03 января 2012

Я хотел бы иметь возможность отправить файл HTML, который я сейчас редактирую в vim, в мой веб-браузер Chrome. Я использую Linux.

Это сближает меня:

nmap <silent> <leader>w :!google-chrome % &

Браузер открывается и отображает правильный файл. Однако команда не работает в фоновом режиме, что и должно делать &. Вместо этого vim падает на задний план, и я получаю текстовый вывод в мое окно терминала. Затем я должен сделать несколько щелчков и Enter нажатие, чтобы мой vim вернулся на передний план.

Я что-то упустил?

ОБНОВЛЕНИЕ: Спасибо за все предложения. Кажется, проблема в том, что при открытии окна браузера фокус смещается от окна моего терминала. Не уверен, могу ли я что-нибудь сделать с этим.

Ответы [ 9 ]

7 голосов
/ 03 января 2012

Из моего .vimrc:

nnoremap <F12>f :exe ':silent !firefox %'<CR>
nnoremap <F12>c :exe ':silent !chromium-browser %'<CR>
nnoremap <F12>o :exe ':silent !opera %'<CR>

Эти три команды открывают текущий файл в выбранном браузере без побочных эффектов. Использование <F12> делает его только GVim.

2 голосов
/ 13 октября 2015

А как же :!open % -a Google\ Chrome?

2 голосов
/ 03 января 2012

Я использую плагин shell.vim для запуска команд в фоновом режиме в Windows.Я не знаю точно, что он делает, но я считаю, что это также работает для Linux:

http://www.vim.org/scripts/script.php?script_id=3123

Shell.vim допускает асинхронные внешние команды, но я неНе знаю, позволяет ли вам сохранять фокусировку на терминале Vim, не возвращайтесь назад вручную.

Ниже представлен еще один плагин, который позволяет асинхронные вызовы, хотя он основан на том, что Vim скомпилирован с поддержкой Python, и я не тестировал:https://github.com/MarcWeber/vim-addon-background-cmd

2 голосов
/ 03 января 2012

Вы можете exec хром silent ly:

nmap <silent> <leader>w :exec 'silent !google-chrome % &'

:exe[cute] {expr1} .. Выполняет строку, которая получается в результате вычисления {expr1}, как команда Ex.

1 голос
/ 20 мая 2014

Для Mac вам, возможно, придется набрать что-то похожее на это:

nnoremap <F12>f :exe ':silent !open -a /Applications/Firefox.app %'<CR>
nnoremap <F12>c :exe ':silent !open -a /Applications/Google\ Chrome.app %'<CR>
nnoremap <F12>g :exe ':silent !open -a /Applications/Google\ Chrome.app %'<CR>
nnoremap <F12>s :exe ':silent !open /Applications/Safari.app %'<CR>

Обратите внимание, что Safari.app в конце ... это сэкономит вам несколько минут :)

0 голосов
/ 22 ноября 2017

Для windows7 x64, - F2 для открытия текущего файла, - F3 для поиска текущего ключа под курсором.

for g:chrome_exe in [
    \'C:\Progra~2\Google\Chrome\Application\chrome.exe',
    \'C:\Progra~1\Google\Chrome\Application\chrome.exe',
    \'C:\Progra~1\Google\Chrome\Applic~1\chrome.exe',
    \'C:\Users\'.$USERNAME.'\AppData\Local\Google\Chrome\Application\chrome.exe' 
    \]
    if !filereadable(g:chrome_exe)
        continue
    endif
    let g:google_url='https://www.google.com/search?oq=&gws_rd=cr&dcr=0&ei=0&q='
    :nmap   <F2> :exe ":!start ".g:chrome_exe." --user-data-dir=%TEMP%/chrome-vim-sandbox file:///".expand("%:p")<CR>
    :nmap   <F3> :exe ":!start ".g:chrome_exe." --user-data-dir=%TEMP%/chrome-vim-sandbox ".g:google_url.expand("<cword>")<CR>
    break
endfor 
0 голосов
/ 04 июля 2016

Для Windows 7 или 10 поместите эту строку в ваш файл .vimrc:

nnoremap <silent> <F5> :!start file://C:/Users/<your username here>/AppData/Local/Google/Chrome/Application/chrome.exe %:p<CR>

или попробуйте:

nnoremap <silent> <F5> :!start file://C:/Program Files (x86)\Google\Chrome\Application\chrome.exe %:p<CR>

для получения более подробной информации см. Эту ссылку: Предварительный просмотр текущегоHTML-файл

0 голосов
/ 28 января 2014

Вот несколько советов по предварительному просмотру файлов в вашем браузере из Linux, Windows и Mac OS X. Предварительный просмотр текущего HTML-файла

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

 nnoremap <F5> :silent update<Bar>silent !firefox %:p &<CR>

При необходимости текущий файл сохраняется, затем для открытия файла используется Firefox.Замените «firefox» на имя другого браузера, если хотите, например, «chromium-browser».

Так как в вопросе говорится, что Chrome является нужным браузером, добавьте его в свой vimrc:

nnoremap <F5> :silent update<Bar>silent !google-chrome %:p &<CR>

Кроме ответа на OP, я хотел бы поделиться этой ссылкой для тех, кто достиг этого вопроса в поисках поддержки Windows и Mac OS X.

0 голосов
/ 16 августа 2013

Я написал небольшой плагин с 7 командами для обработки веб-поиска.

После установки вы можете использовать:

  • :WSearchInit для запуска хранилища сайтов в текущей папке
  • :WSearchSaveTagAndSite google www.google.com/search?q={WSearch} для сохранения сайта с соответствующим тегом

и затем поиск с помощью:

  • :WSearch запустит ваш последний сохраненный или найденный сайт, заменив {WSearch} курсорным словом
  • :WSearch Manual Search сделает то же самое, что и WSearch, но вместо этого заменит {WSearch} на Ручной + Поиск.

Я надеюсь, что это может помочь вам или другим людям с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...