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"