Comandante de medianoche: selección múltiple

Comandante de medianoche: selección múltiple

En MC puedo copiar el nombre del archivo actual de la lista de archivos a la consola presionando Ctrl+ Enter.

Supongamos que quiero copiar varios archivos a la consola. Ejemplo: quiero crear *.zipcon varios archivos:

zip new_zip.zip a.txt b.txt c.txt 231202fkfo3f.txt 

Puedo seleccionar varios archivos con Insertar (o equivalente Ctrl+ t). Quiero usar un atajo después de eso para que todos los nombres de los archivos seleccionados vayan directamente a la consola. Algo así como Ctrl+ Enter.

¿Cuáles son las formas de hacerlo?

Respuesta1

Si presiona Ctrl+ x t, pegará los nombres de todos los archivos que haya etiquetado con Ctrl+ to Inserten la línea de comando.

Respuesta2

Una solución integrada similar está disponible en el F2menú de usuario. Se llama "Hacer algo en los archivos etiquetados" y ejecuta el comando dado en los archivos uno por uno.

Se podrían agregar nuevos comandos a este menú. Es una solución un poco complicada, pero funcionó para mí. (Es necesario el soporte de subcapa).

El archivo de configuración del menú de usuario generalmente se encuentra en:

/etc/mc/mc.menu

Mi solución se basa en "Hacer algo con los archivos etiquetados". Copié sus líneas y las modifiqué así:

+ t t
p       Put selected files to history
    set %t
    while [ -n "$1" ]; do
      STR="$STR \\\"$1\\\""
      shift
    done
    bash -ic "history -s $STR" > /dev/null

La primera línea significa que debe mostrarse solo si se seleccionan varios archivos. La segunda línea contiene un título y un acceso directo dentro del menú de usuario ( p). Después de eso viene un script de shell que agrega nombres de archivos seleccionados a su historial.

Agregue estas líneas mc.menuy tenga en cuenta la tabulación. La primera y segunda línea no tienen tabulación y el guión está tabulado con TAB. De lo contrario, mcno sería posible analizarlo.

Después de eso debes seleccionar algunos archivos y presionar F2. Presione el recién agregado "Poner los archivos seleccionados en el historial". Ahora se añaden al historial, pero conviene volver a leerlo para poder utilizarlo. Presione Ctrl+ Oy deberá escribir history -ren la línea de comando. Finalmente encontrará los nombres de archivos seleccionados presionando UPla tecla.

También se podría utilizar una solución alternativa. Quizás sea más fácil simplemente imprimir la cadena en el terminal y luego copiarla y pegarla. El siguiente script implementa esto:

+ t t
p       Print selected files to subshell
    set %t
    while [ -n "$1" ]; do
      STR="$STR \"$1\""
      shift
    done
    echo "$STR"

información relacionada