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

관련 정보