Minulla on tiedosto testfile.xml, jonka haluan avata Vimillä ja poistaa komentotilassa
Kommentit
Vastaa
On monia tapoja:
-
Interaktiivisen kuoren käyttäminen vimissä
Kun olet editorissa –
:sh rm textfile.xml
-
Bangin (!) käyttäminen
Kuten DopeGhoti ehdotti –
:!rm textfile.xml
-
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
-
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
johtiE464: 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.
:!rm testfile.xml
?vi
ei ole työkalu tiedoston poistamiseen,rm
jafind
ovat sekä varmuuskopiotyökaluja.