function! ReplaceURLs() s!https://github.com/\(.*\)/\(issues\|pull\)/\(\d\+\)!gh#\1#\3!e s!https://gitlab.com/\(.*\)/\(issues\|pull\)/\(\d\+\)!gl#\1#\3!e s!https://bitbucket.org/\(.*\)/issues/\(\d\+\)!bt#\1#\2!e s!https://build.suse.de/request/show/\(\d*\)!bds#\1!e s!https://build.opensuse.org/request/show/\(\d*\)!bdo#\1!e s!https://bugzilla.opensuse.org/\(show_bug.cgi?id=\)\?\(\d*\)!boo#\2!e s!https://bugzilla.suse.com/\(show_bug.cgi?id=\)\?\(\d*\)!bsc#\2!e s!https://jira.suse.\(com\|de\)/browse/\(\d*\)!jsc#\2!e endfunction noremap gG :call ReplaceURLs() " for netrw let g:netrw_browsex_viewer='setsid osurl'