I have a file testfile.xml that I want to open with Vim and delete in command mode
There are many ways:
Using the intercative shell in vim
When in the editor -
:sh rm textfile.xml
As DopeGhoti suggested -
From this link.
Add this to your
command! -complete=file -nargs=1 Remove :echo 'Remove: '.'<f-args>'.' '.(delete(<f-args>) == 0 ? 'SUCCEEDED' : 'FAILED')
Again from the same link in #3
Use this command:
:call delete(expand('%')) | bdelete!
Another way to interactively delete files is to use
for ex(ploring) the file directory. There you have an interactive window that will guide you. Once you select the entry you want deleted, use
This is what it looks like at the top in my window in explorer mode:
" ============================================================================ " Netrw Directory Listing (netrw v140) " C:\Users\cbkrd\Desktop " Sorted by name " Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$ " Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:exec " ============================================================================
As Yash states: there are many ways. But the shortest one,
only appears hidden, only at the end of Yash's link:
I don't understand why you would use all those commands and functions.
:echo delete(filename)? Or, if you want to delete file and wipeout buffer, which I guess happens very rarely, you may write
:echo delete(@%), and if successfull --
echo (instead of
call) you see the result directly, 0 or -1.
:!rm % by @Justin is probably the same, but there is a screen switch and the "no longer available" message -- with
delete() it is smoother.
And I don't understand what
rm is filtering here...
The whole idea makes mostly sense if you want to sort out a bunch of files:
vim $(find -size -100c -type f)
If you want to delete/keep some of these small files. you can
:n[ext] through them and delete them directly. The
:echo delete(@%) should maybe only be mapped temporarily, because it is dangerous. I lost a help file, and renamed another, while experimenting with "%".