X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=vim%2F.vim%2Fautoload%2Ffileline.vim;fp=vim%2F.vim%2Fautoload%2Ffileline.vim;h=193328c316597afda3dd833b4681eb0817929a66;hb=1280549be01e3ce72d9e0aeef6254a1ff14a25a3;hp=0000000000000000000000000000000000000000;hpb=86cacc081de452eb66d50f13261310b07f8ca2d4;p=dotfiles.git diff --git a/vim/.vim/autoload/fileline.vim b/vim/.vim/autoload/fileline.vim new file mode 100644 index 0000000..193328c --- /dev/null +++ b/vim/.vim/autoload/fileline.vim @@ -0,0 +1,17 @@ +" Simplified version of http://www.vim.org/scripts/script.php?script_id=2184 +" that does not replace current window + +function! fileline#goto() abort + let file = bufname("%") + if filereadable(file) | return | endif + let names = matchlist(file, '\(.\{-1,}\):\%(\(\d\+\)\%(:\(\d*\):\?\)\?\)\?$') + if empty(names) | return | endif + let file_name = names[1] + let line_num = names[2] == "" ? "0" : names[2] + let col_num = names[3] == "" ? "0" : names[3] + if !filereadable(file_name) | return | endif + let nr = bufnr("%") + exec "keepalt edit +" . line_num . " " . file_name + exec "normal! " . col_num . "|" + exec "bdelete " . nr +endfunction