如何使用 Vim 编辑器删除文件

ano*_*ous 11 vim

我有一个文件 testfile.xml,我想用 Vim 打开它并在命令模式下删除

Yas*_*dey 11

有很多方法:

  1. 在 vim 中使用交互 shell

    在编辑器中时 -

    :sh
    rm textfile.xml
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 Bang(!)

    正如 DopeGhoti 建议的那样 -

    :!rm textfile.xml
    
    Run Code Online (Sandbox Code Playgroud)
  3. 这个链接

    将此添加到您的 ~/.vimrc

    command! -complete=file -nargs=1 Remove :echo 'Remove: '.'<f-args>'.' '.(delete(<f-args>) == 0 ? 'SUCCEEDED' : 'FAILED')
    
    Run Code Online (Sandbox Code Playgroud)

    然后,在vim中,

    :Remove testfile.xml
    
    Run Code Online (Sandbox Code Playgroud)
  4. 再次来自 #3 中的相同链接

    使用这个命令:

    :call delete(expand('%')) | bdelete!
    
    Run Code Online (Sandbox Code Playgroud)


小智 8

另一种交互式删除文件的方法是使用

:E 
Run Code Online (Sandbox Code Playgroud)

或者

:Ex 
Run Code Online (Sandbox Code Playgroud)

例如(探索)文件目录。在那里,您有一个交互式窗口可以指导您。选择要删除的条目后,请使用

Shift-D  
Run Code Online (Sandbox Code Playgroud)

确认

y  
return  
Run Code Online (Sandbox Code Playgroud)

这是在资源管理器模式下我的窗口顶部的样子:

" ============================================================================
" 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
" ============================================================================
Run Code Online (Sandbox Code Playgroud)


小智 8

要删除该文件,请执行:!rm %. %扩展为文件名。Vim 不会自动删除缓冲区,但您可以使用 手动删除缓冲区:bd

要验证文件是否已被删除,请执行!ls.