Jai un fichier testfile.xml que je souhaite ouvrir avec Vim et supprimer en mode commande
Commentaires
Answer
Il y a plusieurs façons:
-
Utilisation du shell intercatif dans vim
Dans léditeur –
:sh rm textfile.xml
-
Utilisation de Bang (!)
Comme DopeGhoti la suggéré –
:!rm textfile.xml
-
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
-
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 « % ».
:!rm testfile.xml
?vi
nest pas un outil pour supprimer un fichier,rm
etfind
sont ainsi que des outils de sauvegarde.