Midnight Commander – Mehrfachauswahl

Midnight Commander – Mehrfachauswahl

In MC kann ich den Namen der aktuellen Datei aus der Dateiliste auf die Konsole kopieren, indem ich Ctrl+ drücke Enter.

Angenommen, ich möchte mehrere Dateien auf die Konsole kopieren. Beispiel: Ich möchte *.zipmit mehreren Dateien Folgendes erstellen:

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

Ich kann mehrere Dateien mit Einfügen (oder Äquivalent Ctrl+ t) auswählen. Ich möchte danach eine Tastenkombination verwenden, um alle ausgewählten Dateinamen direkt zur Konsole zu führen. So etwas wie Ctrl+ Enter.

Wie kann dies erreicht werden?

Antwort1

Wenn Sie Ctrl+ drücken x t, werden die Namen aller Dateien, die Sie mit Ctrl+ toder markiert haben, Insertin die Befehlszeile eingefügt.

Antwort2

Eine ähnliche integrierte Lösung ist über das F2Benutzermenü verfügbar. Sie heißt „Tu etwas mit den markierten Dateien“ und führt den angegebenen Befehl nacheinander für alle Dateien aus.

Diesem Menü könnten neue Befehle hinzugefügt werden. Das ist eine etwas knifflige Lösung, aber bei mir hat es funktioniert. (Subshell-Unterstützung ist erforderlich.)

Die Konfigurationsdatei des Benutzermenüs befindet sich normalerweise hier:

/etc/mc/mc.menu

Meine Lösung basiert auf „Mach etwas mit den markierten Dateien“. Ich habe die Zeilen kopiert und wie folgt geändert:

+ 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

Die erste Zeile bedeutet, dass es nur angezeigt werden soll, wenn mehrere Dateien ausgewählt sind. Die zweite Zeile enthält einen Titel und eine Verknüpfung im Benutzermenü ( p). Danach folgt ein Shell-Skript, das ausgewählte Dateinamen zu Ihrem Verlauf hinzufügt.

Fügen Sie diese Zeilen hinzu mc.menuund achten Sie auf die Tabellierung. Die erste und zweite Zeile haben keine Tabellierung und das Skript ist mit TABs tabelliert. Andernfalls mcwäre es nicht möglich, es zu analysieren.

Danach sollten Sie einige Dateien auswählen und drücken F2. Drücken Sie die neu hinzugefügte Option „Ausgewählte Dateien in den Verlauf einfügen“. Jetzt werden sie zum Verlauf hinzugefügt, müssen aber vor der Verwendung erneut gelesen werden. Drücken Sie Ctrl+ Ound geben Sie history -rdie Befehlszeile ein. Schließlich finden Sie die ausgewählten Dateinamen durch Drücken der UPTaste.

Es könnte auch eine alternative Lösung verwendet werden. Vielleicht ist es einfacher, die Zeichenfolge einfach auf dem Terminal auszugeben und sie dann zu kopieren und einzufügen. Das folgende Skript implementiert dies:

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

verwandte Informationen