Подтвердить что ты не робот

Открыть текущий файл в веб-браузере в Vim

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

Это меня очень близко:

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

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

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

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

4b9b3361

Ответ 1

Из моего .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

Вы можете exec chrome silent ly:

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

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

Ответ 3

Я использую плагин 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

Ответ 4

Для 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 в конце... это сэкономит вам несколько минут.:)

Ответ 5

Как насчет :!open % -a Google\ Chrome?

Ответ 6

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

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

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

а затем выполните поиск с помощью

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

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

Ответ 7

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

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

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

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

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

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

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

Ответ 8

Для окон 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

Ответ 9

Для 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