Tengo un archivo testfile.xml que quiero abrir con Vim y eliminar en modo comando
Comentarios
Respuesta
Hay muchas formas:
-
Usando el shell intercativo en vim
Cuando en el editor –
:sh rm textfile.xml
-
Usando Bang (!)
Como sugirió DopeGhoti –
:!rm textfile.xml
-
De este vínculo .
Agregue esto a su
~/.vimrc
command! -complete=file -nargs=1 Remove :echo "Remove: "."<f-args>"." ".(delete(<f-args>) == 0 ? "SUCCEEDED" : "FAILED")
Luego, en vim,
:Remove testfile.xml
-
De nuevo desde el mismo enlace en # 3
Use este comando:
:call delete(expand("%")) | bdelete!
Respuesta
Otra forma de eliminar archivos de forma interactiva es utilizar
:E
o
:Ex
para ex (ploring) el directorio de archivos. Allí tienes una ventana interactiva que te guiará. Una vez que seleccione la entrada que desea eliminar, use
Shift-D
confirme con
y return
Así es como se ve en la parte superior de mi ventana en modo explorador:
" ============================================================================ " 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 " ============================================================================
Comentarios
-
:E
resultó enE464: Ambiguous use of user-defined command
, pero:Ex
funcionó bien.
Responder
Para eliminar el archivo temporalmente
:!rm %
%
es el archivo actualmente abierto
Ctrl + Z , detiene el proceso
verifique con ls
, el archivo ya no está en el disco
fg
recupera el archivo en vim
puede guardarlo utilizando los comandos vim habituales
Responder
Como dice Yash: hay muchos maneras. Pero el más corto,
:echo delete(@%)
solo aparece oculto, solo al final del enlace de Yash:
No entiendo por qué usarías todos esos comandos y funciones.
Por qué no
:echo delete(filename)
? O, si desea eliminar el archivo y borrar el búfer, lo que supongo que sucede muy raramente, puede escribir:echo delete(@%)
y, si tiene éxito,:bw!
.
Con echo
(en lugar de call
) ves el resultado directamente, 0 o -1.
:!rm %
de @Justin es probablemente el mismo, pero hay un cambio de pantalla y el Mensaje «ya no está disponible»: con delete()
es más suave.
Y no entiendo qué rm
está filtrando aquí …
Toda la idea tiene más sentido si desea ordenar un montón de archivos:
vim $(find -size -100c -type f)
Si desea eliminar / conservar algunos de estos pequeños archivos, puede :n[ext]
revisarlos y eliminarlos directamente . El :echo delete(@%)
tal vez solo debería mapearse temporalmente, ya que es peligroso. Perdí un archivo de ayuda y lo renombré otro, mientras experimenta con «%».
:!rm testfile.xml
?vi
no es una herramienta para eliminar archivos,rm
yfind
también son herramientas de respaldo.