在Vim的web浏览器中打开当前文件
我希望能够将当前在在Vim的web浏览器中打开当前文件,vim,Vim,我希望能够将当前在vim中编辑的HTML文件发送到我的web浏览器Chrome。我在运行Linux 这让我非常接近: nmap <silent> <leader>w :!google-chrome % & nmap w:!谷歌浏览器%& 浏览器将打开并显示正确的文件。但是,该命令没有在后台运行,&应该这样做。相反,vim下降到后台,我得到一些文本输出到终端窗口。然后,我必须进行一些单击,然后按Enter键以使我的vim返回前台 我错过什么了吗 更新:感谢所有的
vim
中编辑的HTML文件发送到我的web浏览器Chrome。我在运行Linux
这让我非常接近:
nmap <silent> <leader>w :!google-chrome % &
nmap w:!谷歌浏览器%&
浏览器将打开并显示正确的文件。但是,该命令没有在后台运行,&
应该这样做。相反,vim
下降到后台,我得到一些文本输出到终端窗口。然后,我必须进行一些单击,然后按Enter键以使我的vim返回前台
我错过什么了吗
更新:感谢所有的建议。问题似乎是当浏览器窗口打开时,焦点似乎从我的终端窗口移开了。我不确定我是否能对此做些什么。你可以
exec
chromesilent
ly:
nmap <silent> <leader>w :exec 'silent !google-chrome % &'
nmap w:exec'静默!谷歌chrome%&'
:exe[cute]{expr1}..
将{expr1}的计算结果作为Ex命令执行 我使用shell.vim
插件在Windows的后台运行命令。我不知道它到底是做什么的,但我相信它在Linux上也适用:
vim确实允许异步外部命令,但我不知道它是否允许您使用vim终端保持焦点,避免手动返回
下面是另一个允许异步调用的插件,尽管它依赖于使用Python支持编译Vim,但我还没有测试:
来自my.vimrc:
nnoremap <F12>f :exe ':silent !firefox %'<CR>
nnoremap <F12>c :exe ':silent !chromium-browser %'<CR>
nnoremap <F12>o :exe ':silent !opera %'<CR>
nnoremap f:exe':无提示!firefox%'
nnoremap c:exe:无提示!铬浏览器%'
nnoremap o:exe:无提示!歌剧%'
这三个命令在所选浏览器中打开当前文件,不会产生副作用。不过,由于使用了
,因此它仅适用于GVim。我编写了一个包含7个命令的程序来处理web搜索
安装后,您可以使用:
在当前文件夹中启动站点存储库:WSearchInit
保存带有相应标记的站点:WSearchSaveTagAndSite google www.google.com/search?q={WSearch}
将运行最新保存或搜索的站点,并将:WSearch
替换为光标词{WSearch}
将执行与:WSearch Manual Search
相同的操作,但将用Manual+Search替换WSearch
{WSearch}
我希望它能帮助您或其他有同样问题的人。以下是从Linux、Windows和Mac OS X预览浏览器中文件的各种技巧。 此映射允许您使用浏览器预览HTML文件 目前正在编辑
nnoremap <F5> :silent update<Bar>silent !firefox %:p &<CR>
nnoremap:silent updatesilent!firefox%:p&
如果
必要时,保存当前文件,然后使用Firefox打开
文件如果需要,将“firefox”替换为另一个浏览器的名称,
例如“chromium浏览器”
因此,当问题表明Chrome是理想的浏览器时,将其添加到vimrc中:
nnoremap <F5> :silent update<Bar>silent !google-chrome %:p &<CR>
nnoremap:silent updatesilent!谷歌浏览器%:p&
除了回答OP,我还想为那些在搜索Windows和Mac OS X支持时遇到此问题的人共享此链接。对于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>
nnoremap f:exe':无提示!打开-a/Applications/Firefox.app%'
nnoremap c:exe:无提示!打开-a/Applications/Google\Chrome.app%'
nnoremap g:exe':无提示!打开-a/Applications/Google\Chrome.app%'
nnoremap s:exe':无提示!打开/Applications/Safari.app%'
当然最后是Safari.app,它会为您节省几分钟的时间 那
呢:!打开适用于windows 7或10的%a Google\Chrome
?将这一行放入.vimrc文件:
nnoremap <silent> <F5> :!start file://C:/Users/<your username here>/AppData/Local/Google/Chrome/Application/chrome.exe %:p<CR>
nnoremap:!开始文件://C:/Users//AppData/Local/Google/Chrome/Application/Chrome.exe%:p
或者尝试:
nnoremap <silent> <F5> :!start file://C:/Program Files (x86)\Google\Chrome\Application\chrome.exe %:p<CR>
nnoremap:!开始文件://C:/ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe%:p
有关更多详细信息,请参阅此链接:
对于windows7 x64,
-要打开当前文件,
-F3查找光标下的当前cword
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
g:chrome\u exe的[
\'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”
\]
如果!文件可读(g:chrome_exe)
持续
恩迪夫
让g:google\u url='1https://www.google.com/search?oq=&gws_rd=cr&dcr=0&ei=0&q='
:nmap:exe“:!start“.g:chrome\u exe”-用户数据目录=%TEMP%/chrome-vim沙盒文件://”。展开(“%:p”)
:nmap:exe::!start“.g:chrome\u exe”-用户数据目录=%TEMP%/chrome vim sandbox.g:google\u url.expand(“”)
打破
结束
谢谢,但我还是得到了类似的结果。它正在写入标准输出,在现有浏览器会话中创建了一个新窗口。
我尝试将输出重定向到/dev/null
,但也没有成功。Grrr。同样的结果<代码>vim有很多方法可以做同样的事情。:)使用sensible browser
打开默认浏览器怎么样?在OSX上,我注意到!open%
似乎工作正常,!如果Chrome或Firefox尚未启动,这会导致Vim或Neovim被卡住,直到您关闭浏览器。这只是要求Vim运行终端命令,不确定是否可以在帮助文件中找到引用。帮助
和help%
实际上,我被这种名称格式“Google\Chrome”搞糊涂了。但是我发现它的名字是这样的“/Applications/Google\Chrome.app/”。我发现这很有用(类似于RTFM的答案):