Vimエディタを使用してファイルを削除する方法

Vimエディタを使用してファイルを削除する方法

Vimで開き、コマンドモードで削除したいtestfile.xmlファイルがあります。

答え1

インタラクティブにファイルを削除する別の方法は、次を使用することです。

:E 

または

:Ex 

ex(検索)ファイルディレクトリに使用されます。あなたを案内するインタラクティブなウィンドウがあります。削除するアイテムを選択した後

Shift-D  

確認

y  
return  

エクスプローラモードでは、ウィンドウの上部は次のようになります。

" ============================================================================
" 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
" ============================================================================

答え2

いくつかの方法があります:

  1. vimで対話型シェルを使用する

    エディタにいるとき -

    :sh
    rm textfile.xml
    
  2. バン(!)を使用してください

    DopeGhotiが提案したように -

    :!rm textfile.xml
    
  3. ~からこのリンク

    これをあなたの~/.vimrc

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

    それからvimで

    :Remove testfile.xml
    
  4. もう一度#3の同じリンクから

    次のコマンドを使用します。

    :call delete(expand('%')) | bdelete!
    

答え3

ファイルを削除するには、ファイル名に拡張子を:!rm %%Vimはバッファを自動的に削除しませんが、手動でバッファを削除できます:bd

ファイルが削除されたことを確認するには、を実行します!ls

答え4

mvはrmよりも安全です。

com!  -nargs=? -complete=file T call Trash_by_viM(<f-args>)
            " 0 or 1 arguments are allowed
fun! Trash_by_viM(...) abort
    if a:0 > 0   "  有传参
    " if a:1   之前用这行, 不行, 因为if 'abc' 等于if FALSE,  if '1abc' 才等于if TRUE
        exe '! mv'  a:1  '~/.t/'..a:1..'__moved_by_vim'
        echo "moved"  a:1
    el
        write
        exe '! mv' expand("%:p")  '~/.t/'..expand("%:p:t")..'__moved_by_vim'
        echo "moved" expand("%:p")
        bwipeout!
    en
endf

関連情報