Minulla on tiedosto testfile.xml, jonka haluan avata Vimillä ja poistaa komentotilassa

Kommentit

Vastaa

On monia tapoja:

  1. Interaktiivisen kuoren käyttäminen vimissä

    Kun olet editorissa –

    :sh rm textfile.xml 
  2. Bangin (!) käyttäminen

    Kuten DopeGhoti ehdotti –

    :!rm textfile.xml 
  3. tästä linkistä .

    Lisää tämä ~/.vimrc

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

    Sitten, in vim,

    :Remove testfile.xml 
  4. Jälleen samasta linkistä kohdassa # 3

    Käytä tätä komentoa:

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

vastaus

Toinen tapa poistaa tiedostoja interaktiivisesti on käyttää

:E 

tai

:Ex 

esimerkiksi (hakemisto) tiedostohakemisto. Siellä on interaktiivinen ikkuna, joka opastaa sinua. Kun olet valinnut poistettavan merkinnän, käytä

Shift-D 

vahvista valitsemalla

y return 

Näyttää siltä ikkunani yläosassa Explorer-tilassa:

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

kommentit

  • :E johti E464: Ambiguous use of user-defined command, mutta :Ex toimi hyvin.

Vastaa

Tiedoston väliaikainen poistaminen

:!rm % 

% on tällä hetkellä avattu tiedosto

Ctrl + Z , pysäyttää prosessin

tarkista valitsemalla ls, tiedostoa ei enää ole levyllä

fg palauttaa tiedoston VIM-tiedostoon

voit tallentaa sen käyttämällä tavallisia vim-komentoja

Vastaa

Kuten Yash sanoo: niitä on monia tavoilla. Mutta lyhin,

:echo delete(@%)

näkyy vain piilotettuna, vain Yash-linkin lopussa:

En ymmärrä, miksi käyttäisit kaikkia näitä komentoja ja toimintoja.

Miksi et :echo delete(filename) ? Tai jos haluat poistaa tiedoston ja pyyhi puskurin, mitä luulen tapahtuvan hyvin harvoin, voit kirjoittaa :echo delete(@%) ja jos onnistuu – :bw!.

Kanssa echo (call ) näet tuloksen suoraan, 0 tai -1.


:!rm % lähettäjä @Justin on luultavasti sama, mutta siellä on näytön kytkin ja ”ei enää saatavilla” -viesti – delete() -viestillä se on sujuvampaa.

Enkä ymmärrä mitä rm on suodattaa täällä …


Koko idea on järkevin, jos haluat lajitella joukon tiedostoja:

vim $(find -size -100c -type f)

Jos haluat poistaa / säilyttää joitain näistä pienistä tiedostoista, voit :n[ext] niiden kautta ja poistaa ne suoraan :echo delete(@%) tulisi ehkä kartoittaa vain väliaikaisesti, koska se on vaarallista. Hävitin ohjetiedoston ja nimettiin uudelleen toinen, samalla kun kokeilet ”%”: ta.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *