Comandante da Meia-Noite – Seleção Múltipla

Comandante da Meia-Noite – Seleção Múltipla

No MC posso copiar o nome do arquivo atual da lista de arquivos para o console pressionando Ctrl+ Enter.

Suponha que eu queira copiar vários arquivos para o console. Exemplo: quero criar *.zipcom vários arquivos:

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

Posso selecionar vários arquivos com Insert (ou equivalente Ctrl+ t). Quero que um atalho seja usado depois disso para que todos os nomes de arquivos selecionados vão direto para o console. Algo como Ctrl+ Enter.

Quais são as maneiras de fazer isso?

Responder1

Se você pressionar Ctrl+ x t, os nomes de todos os arquivos marcados com Ctrl+ tserão colados Insertna linha de comando.

Responder2

Uma solução integrada semelhante está disponível no F2menu do usuário. É chamado de "Faça algo nos arquivos marcados" e executa o comando fornecido nos arquivos, um por um.

Novos comandos podem ser adicionados a este menu. É uma solução um pouco complicada, mas funcionou para mim. (O suporte Subshell é necessário.)

O arquivo de configuração do menu do usuário geralmente está localizado em:

/etc/mc/mc.menu

Minha solução é baseada em "Faça algo nos arquivos marcados". Copiei suas linhas e modifiquei assim:

+ 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

A primeira linha significa que ela deve ser mostrada apenas se vários arquivos forem selecionados. A segunda linha contém um título e um atalho dentro do menu do usuário ( p). Depois disso, vem um script de shell que adiciona nomes de arquivos selecionados ao seu histórico.

Adicione essas linhas mc.menue esteja ciente da tabulação. A primeira e a segunda linha não possuem tabulação e o script é tabulado com TABs. Caso contrário, mcnão seria capaz de analisá-lo.

Depois disso você deve selecionar alguns arquivos e pressionar F2. Pressione o recém-adicionado "Colocar arquivos selecionados no histórico". Agora eles foram adicionados ao histórico, mas ele deve ser relido para ser utilizado. Pressione Ctrl+ Oe você deve digitar history -rna linha de comando. Finalmente você encontrará os nomes dos arquivos selecionados pressionando UPa tecla.

Uma solução alternativa também poderia ser usada. Talvez seja mais fácil simplesmente imprimir a string no terminal e depois copiá-la e colá-la. O script a seguir implementa isso:

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

informação relacionada