mirror of
https://github.com/vim/vim.git
synced 2026-02-01 11:34:23 +01:00
runtime(netrw): Do not create swapfiles in netrw buffers
Problem: When using netrw to navigate directories, vim immediately
creates, then deletes a swap file in the entered directory,
causing the lastModifiedTime of that directory to change.
Solution: Use the :noswapfile command modifier in s:NetrwEditFile()
fixes: #18854
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
" 2025 Nov 18 by Vim Project use UNC paths when using scp and Windows paths #18764
|
||||
" 2025 Nov 28 by Vim Project fix undefined variable in *NetrwMenu #18829
|
||||
" 2025 Dec 26 by Vim Project fix use of g:netrw_cygwin #19015
|
||||
" 2026 Jan 19 by Vim Project do not create swapfiles #18854
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -4257,12 +4258,12 @@ endfunction
|
||||
" NetrwKeepj [keepalt] <OPT> <CMD> <FILENAME>
|
||||
function s:NetrwEditFile(cmd,opt,fname)
|
||||
if exists("g:netrw_altfile") && g:netrw_altfile && &ft == "netrw"
|
||||
exe "NetrwKeepj keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname)
|
||||
exe "NetrwKeepj noswapfile keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname)
|
||||
else
|
||||
if a:cmd =~# 'e\%[new]!' && !&hidden && getbufvar(bufname('%'), '&modified', 0)
|
||||
call setbufvar(bufname('%'), '&bufhidden', 'hide')
|
||||
endif
|
||||
exe "NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname)
|
||||
exe "NetrwKeepj noswapfile ".a:opt." ".a:cmd." ".fnameescape(a:fname)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
Reference in New Issue
Block a user