Jai un fichier testfile.xml que je souhaite ouvrir avec Vim et supprimer en mode commande

Commentaires

Answer

Il y a plusieurs façons:

  1. Utilisation du shell intercatif dans vim

    Dans léditeur –

    :sh rm textfile.xml 
  2. Utilisation de Bang (!)

    Comme DopeGhoti la suggéré –

    :!rm textfile.xml 
  3. De ce lien .

    Ajouter ceci à votre ~/.vimrc

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

    Puis, dans vim,

    :Remove testfile.xml 
  4. Encore une fois à partir du même lien dans # 3

    Utilisez cette commande:

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

Réponse

Une autre façon de supprimer des fichiers de manière interactive consiste à utiliser

:E 

ou

:Ex 

pour ex (explorer) le répertoire de fichiers. Là, vous avez une fenêtre interactive qui vous guidera. Une fois que vous avez sélectionné lentrée que vous souhaitez supprimer, utilisez

Shift-D 

confirmez avec

y return 

Voici à quoi cela ressemble en haut de ma fenêtre en mode explorateur:

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

Commentaires

  • :E a donné E464: Ambiguous use of user-defined command, mais :Ex a bien fonctionné.

Réponse

Pour supprimer temporairement le fichier

:!rm % 

% est le fichier actuellement ouvert

Ctrl + Z , arrête le processus

vérifier avec ls, le fichier nest plus sur le disque

fg ramène le fichier sur vim

vous pouvez lenregistrer, en utilisant les commandes vim régulières

Answer

Comme le déclare Yash: il y en a beaucoup façons. Mais le plus court,

:echo delete(@%)

napparaît que caché, uniquement à la fin du lien de Yash:

Je ne comprends pas pourquoi vous utiliseriez toutes ces commandes et fonctions.

Pourquoi pas :echo delete(filename) ? Ou, si vous souhaitez supprimer le fichier et le tampon deffacement, ce qui, je suppose, se produit très rarement, vous pouvez écrire :echo delete(@%), et en cas de succès – :bw!.

Avec echo (au lieu de call ) vous voyez le résultat directement, 0 ou -1.


:!rm % par @Justin est probablement le même, mais il y a un commutateur décran et le Message « no longer available » – avec delete() cest plus fluide.

Et je ne comprends pas ce que rm est filtrant ici …


Lidée dans son ensemble a du sens si vous voulez trier un tas de fichiers:

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

Si vous souhaitez supprimer / conserver certains de ces petits fichiers. vous pouvez :n[ext] à travers eux et les supprimer directement . Le :echo delete(@%) ne devrait peut-être être mappé que temporairement, car il est dangereux. Jai perdu un fichier daide et je lai renommé un autre, tout en expérimentant avec « % ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *