미드나잇 커맨더 - 다중 선택

미드나잇 커맨더 - 다중 선택

CtrlMC에서는 +를 눌러 파일 목록의 현재 파일 이름을 콘솔에 복사할 수 있습니다 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). 그 다음에는 선택한 파일 이름을 기록에 추가하는 쉘 스크립트가 제공됩니다.

이 줄을 mc.menu표에 추가하고 주의하세요. 첫 번째와 두 번째 줄에는 표가 없으며 스크립트는 TAB으로 표로 작성됩니다. 그렇지 않으면 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"

관련 정보