Midnight Commander - Mehrfachauswahl

1407
Andrey Bzikadze

In MC kann ich den Namen der aktuellen Datei aus der Liste der Dateien in die Konsole kopieren, indem Sie Ctrl+ drücken Enter.

Angenommen, ich möchte mehrere Dateien auf die Konsole kopieren. Beispiel: Sie möchten *.zipmehrere Dateien erstellen :

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

Ich kann mehrere Dateien mit Insert (oder äquiv. Ctrl+ t) Auswählen . Ich möchte, dass danach eine Verknüpfung für alle ausgewählten Dateinamen verwendet wird, um direkt zur Konsole zu gelangen. So etwas wie Ctrl+ Enter.

Wie kann ich das machen?

4

2 Antworten auf die Frage

3
jursetto

Wenn Sie die Taste Ctrl+ x t, werden die Namen aller Dateien einfügen Sie mit Tags versehen haben Ctrl+ toder Insertauf der Kommandozeile.

Das ist wirklich toll. Vielen Dank! Andrey Bzikadze vor 8 Jahren 0
1
szkj

Eine ähnliche integrierte Lösung ist im F2Benutzermenü verfügbar . Es heißt "Mach etwas mit den markierten Dateien" und führt den angegebenen Befehl für die Dateien nacheinander aus.

Zu diesem Menü können neue Befehle hinzugefügt werden. Es ist eine etwas knifflige Lösung, aber es hat für mich funktioniert. (Subshell-Unterstützung ist erforderlich.)

Die Benutzermenü-Konfigurationsdatei befindet sich normalerweise unter:

/etc/mc/mc.menu 

Meine Lösung basiert auf "Machen Sie etwas mit den markierten Dateien". Ich habe die Zeilen kopiert und so modifiziert:

+ 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 

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 innerhalb des Benutzermenüs ( 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 enthält keine Tabellierung, und das Skript wird mit TABs tabelliert. Andernfalls mcwäre es nicht in der Lage, 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 die Historie übernehmen". Jetzt werden sie zur Historie hinzugefügt, aber sie sollten erneut gelesen werden, um verwendet zu werden. Drücken Sie Ctrl+ O, und Sie sollten history -rin die Befehlszeile eingeben. Zum Schluss finden Sie die ausgewählten Dateinamen durch Drücken der UPTaste.

Eine alternative Lösung könnte auch verwendet werden. Vielleicht ist es einfacher, die Zeichenfolge einfach auf das Terminal zu drucken, und danach können Sie sie kopieren und einfügen. Folgendes Skript implementiert dies:

+ t t p Print selected files to subshell set %t while [ -n "$1" ]; do STR="$STR \"$1\"" shift done echo "$STR" 
Vielen Dank für Ihre Antwort. Sorry, für eine sehr späte Antwort ... Andrey Bzikadze vor 8 Jahren 0