From: Sergey Matveev Date: Sat, 6 Feb 2021 11:57:46 +0000 (+0300) Subject: Proper file_line left buffer cleaning X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=commitdiff_plain;h=f1c505a919e4a280c35f327ee563d1321d8c1503 Proper file_line left buffer cleaning --- diff --git a/vim/.vim/plugin/file_line.vim b/vim/.vim/plugin/file_line.vim index 65962d2..c1544a1 100644 --- a/vim/.vim/plugin/file_line.vim +++ b/vim/.vim/plugin/file_line.vim @@ -5,14 +5,18 @@ if exists("g:loaded_mein_file_line") | finish | endif let g:loaded_mein_file_line = 1 function! s:gotoline() + let file = bufname("%") + if filereadable(file) | return | endif let names = matchlist(bufname("%"), '\(.\{-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()