]> Sergey Matveev's repositories - dotfiles.git/blobdiff - vim/.vim/plugin/file_line.vim
Simplify format of .zhashd
[dotfiles.git] / vim / .vim / plugin / file_line.vim
index 65962d2f9fc8d2c0e77aec4f1bc0c5149020032b..45e250ea59db2839658a25f59c126eb3dd5dd1c3 100644 (file)
@@ -5,14 +5,18 @@ if exists("g:loaded_mein_file_line") | finish | endif
 let g:loaded_mein_file_line = 1
 
 function! s:gotoline()
-    let names = matchlist(bufname("%"), '\(.\{-1,}\):\%(\(\d\+\)\%(:\(\d*\):\?\)\?\)\?$')
+    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
 
 autocmd! BufNewFile *:* nested call s:gotoline()