午夜指揮官 — 多項選擇

午夜指揮官 — 多項選擇

Ctrl在 MC 中,我可以按+將目前檔案的名稱從檔案清單複製到控制台Enter

假設我想要將多個文件複製到控制台。範例:想要建立*.zip多個文件:

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

我可以使用 Insert (或等效的Ctrl+ t)選擇多個檔案。我希望之後可以使用一個快捷方式,讓所有選取的檔案名稱直接進入控制台。像Ctrl+之類的東西Enter

有哪些方法可以實現呢?

答案1

如果您按Ctrl+ ,它會將您用+或x t標記的所有檔案的名稱貼到命令列。CtrltInsert

答案2

用戶選單中提供了類似的內建解決方案F2。它被稱為“對標記的檔案執行某些操作”,並在檔案上逐一運行給定的命令。

可以將新命令新增至此功能表。這是一個有點棘手的解決方案,但它對我有用。 (需要子外殼支援。)

使用者選單設定檔通常位於:

/etc/mc/mc.menu

我的解決方案是基於“對標記的文件執行某些操作”。我複製了它的行並進行瞭如下修改:

+ 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

第一行意味著僅當選擇多個文件時才應顯示它。第二行包含標題和使用者選單內的捷徑 ( p)。之後是一個 shell 腳本,它將選定的檔案名稱新增到您的歷史記錄中。

將這些行新增至mc.menu並注意製表。第一行和第二行沒有製表,腳本用製表符製表。否則mc無法解析。

之後,您應該選擇一些文件並按F2。按下新增的「將所選文件放入歷史記錄」。現在它們已被添加到歷史中,但需要重新讀取才能使用。按Ctrl+ O,您應該輸入history -r命令列。最後,您將透過UP按鍵找到所選的檔案名稱。

也可以使用替代解決方案。也許將字串列印到終端更容易,然後您可以複製並貼上它。以下腳本實現了這一點:

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

相關內容