Ho un file testfile.xml che voglio aprire con Vim ed eliminare in modalità comando

Commenti

Risposta

Ci sono molti modi:

  1. Usare la shell intercativa in vim

    Quando nelleditor –

    :sh rm textfile.xml 
  2. Utilizzo di Bang (!)

    Come suggerito da DopeGhoti –

    :!rm textfile.xml 
  3. 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 
  4. 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 restituito E464: 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 “%”.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *