Ho un file testfile.xml che voglio aprire con Vim ed eliminare in modalità comando
Commenti
Risposta
Ci sono molti modi:
-
Usare la shell intercativa in vim
Quando nelleditor –
:sh rm textfile.xml
-
Utilizzo di Bang (!)
Come suggerito da DopeGhoti –
:!rm textfile.xml
-
Da questo link .
Aggiungi questo a il tuo
~/.vimrc
command! -complete=file -nargs=1 Remove :echo "Remove: "."<f-args>"." ".(delete(<f-args>) == 0 ? "SUCCEEDED" : "FAILED")
Quindi, in vim,
:Remove testfile.xml
-
Sempre dallo stesso link in # 3
Usa questo comando:
:call delete(expand("%")) | bdelete!
Risposta
Un altro modo per eliminare i file in modo interattivo è utilizzare
:E
o
:Ex
per ex (ploring) la directory dei file. Lì hai una finestra interattiva che ti guiderà. Dopo aver selezionato la voce che desideri eliminare, utilizza
Shift-D
conferma con
y return
Ecco come appare nella parte superiore della mia finestra in modalità esploratore:
" ============================================================================ " 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 " ============================================================================
Commenti
-
:E
ha restituitoE464: Ambiguous use of user-defined command
, ma:Ex
ha funzionato bene.
Risposta
Per eliminare temporaneamente il file
:!rm %
%
è il file attualmente aperto
Ctrl + Z , arresta il processo
controlla con ls
, il file non è più sul disco
fg
riporta il file su vim
puoi salvarlo, usando i normali comandi vim
Answer
Come afferma Yash: ce ne sono molti modi. Ma il più breve,
:echo delete(@%)
appare solo nascosto, solo alla fine del link di Yash:
Non capisco perché dovresti usare tutti quei comandi e funzioni.
Perché no
:echo delete(filename)
? Oppure, se desideri eliminare il file e il buffer di cancellazione, cosa che immagino accada molto raramente, puoi scrivere:echo delete(@%)
e, in caso di successo,:bw!
.
Con echo
(invece di call
) vedi il risultato direttamente, 0 o -1.
:!rm %
di @Justin è probabilmente lo stesso, ma cè un cambio di schermata e il Messaggio “non più disponibile”: con delete()
è più fluido.
E non capisco cosa rm
sta filtrando qui …
Lintera idea ha per lo più senso se vuoi ordinare un mucchio di file:
vim $(find -size -100c -type f)
Se desideri eliminare / conservare alcuni di questi piccoli file, puoi :n[ext]
attraverso di essi ed eliminarli direttamente . Il :echo delete(@%)
dovrebbe forse essere mappato solo temporaneamente, perché è pericoloso. Ho perso un file della guida e ho rinominato un altro, mentre sperimentava “%”.
:!rm testfile.xml
?vi
non è uno strumento per eliminare file,rm
efind
sono così come strumenti di backup.