]> Sergey Matveev's repositories - dotfiles.git/blob - vim/.vim/autoload/fileline.vim
GS alias moved to autoenv
[dotfiles.git] / vim / .vim / autoload / fileline.vim
1 " Simplified version of http://www.vim.org/scripts/script.php?script_id=2184
2 " that does not replace current window
3
4 function! fileline#goto() abort
5     let file = bufname("%")
6     if filereadable(file) | return | endif
7     let names = matchlist(file, '\(.\{-1,}\):\%(\(\d\+\)\%(:\(\d*\):\?\)\?\)\?$')
8     if empty(names) | return | endif
9     let file_name = names[1]
10     let line_num = names[2] == "" ? "0" : names[2]
11     let col_num = names[3] == "" ? "0" : names[3]
12     if !filereadable(file_name) | return | endif
13     let nr = bufnr("%")
14     exec "keepalt edit +" . line_num . " " . file_name
15     exec "normal! " . col_num . "|"
16     exec "bdelete " . nr
17 endfunction