Tengo un archivo testfile.xml que quiero abrir con Vim y eliminar en modo comando

Comentarios

Respuesta

Hay muchas formas:

  1. Usando el shell intercativo en vim

    Cuando en el editor –

    :sh rm textfile.xml 
  2. Usando Bang (!)

    Como sugirió DopeGhoti –

    :!rm textfile.xml 
  3. 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 
  4. 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ó en E464: 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 «%».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *