├── README.md └── plugin └── gx.vim /README.md: -------------------------------------------------------------------------------- 1 | Tired of `gx` not working correctly (see [issue #4738](https://github.com/vim/vim/issues/4738)) I 2 | decided to take all that is useful from vim's ancient netrw, and the result is ten lines of code. 3 | 4 | This works much better than netrw. 5 | 6 | To install use any vim plugin manager: 7 | 8 | % git clone https://github.com/felipec/vim-sanegx.git ~/.vim/pack/plugins/start/sanegx 9 | -------------------------------------------------------------------------------- /plugin/gx.vim: -------------------------------------------------------------------------------- 1 | if exists('g:loaded_sanegx') | finish | endif 2 | let g:loaded_sanegx = 1 3 | 4 | function! GXBrowse(url) 5 | let redir = '>&/dev/null' 6 | if exists('g:netrw_browsex_viewer') 7 | let viewer = g:netrw_browsex_viewer 8 | elseif has('unix') && executable('xdg-open') 9 | let viewer = 'xdg-open' 10 | elseif has('macunix') && executable('open') 11 | let viewer = 'open' 12 | elseif has('win64') || has('win32') 13 | let viewer = 'start' 14 | redir = '>null' 15 | else 16 | return 17 | endif 18 | 19 | execute 'silent! !' . viewer . ' ' . shellescape(a:url, 1) . redir 20 | redraw! 21 | endfunction 22 | 23 | nnoremap gx :call GXBrowse(expand('')) 24 | --------------------------------------------------------------------------------