나는 레인저를 터미널 파일 관리자로 사용하고 있으며 이제 기본 사항을 이해했으므로 더 깊이 들어가 목적에 맞게 rc를 사용자 정의하고 싶습니다. 내가 좋아하는 것 중 하나는 명령을 키 바인딩에 매핑하고 템플릿을 현재 폴더에 복사한 다음 rename_append
파일에서 명령을 실행하는 것입니다(보통 키 바인딩 호출을 사용하여).a
예는 다음과 같습니다.
map NS shell cp ~/.templates/bash.sh . ; rename_append
문제는 명령을 어떻게 호출하더라도 템플릿을 현재 디렉터리에 복사하지만 이름 바꾸기 프로세스를 시작하지 않는다는 것입니다. Ranger를 종료하면 파일을 찾을 수 없다는 오류 메시지가 표시되지만 rename_append
Ranger-config에서는 동일한 명령을 사용하여 부록 앞의 파일 이름을 바꿉니다. 내 이론은 쉘을 사용하고 있기 때문에 명령이 rename_append
내 프로그램 내에서 검색을 시도한다는 것입니다. 하나는 셸 명령이고 다음은 그렇지 않은 Ranger 구성에서 명령을 연결하는 방법을 모르겠습니다.
현재는 첫 번째 키바인딩에 이어 두 번째 키바인딩을 사용해야 하는데, 하나의 키바인딩만 사용하고 파일 복사 후 자동으로 이름 바꾸기 모드로 들어가고 싶습니다.
내 질문이 이해할 수 있기를 바랍니다.
답변1
chain
여러 명령을 실행하려면 이 명령이 필요합니다 .
chain <command1>; <command2>; ...
이 부분은 더 이상 관련이 없을 수 있지만 복사 및 이름 바꾸기 작업을 위해 다음 솔루션을 생각해냈습니다.
map NS chain shell cp ~/.templates/bash.sh .; console shell mv bash.sh%space
NS를 누르고 새 파일 이름을 입력한 다음 Enter를 눌러 이 바인딩을 사용할 수 있습니다. 이 솔루션은 현재 선택 항목에 대해 명령을 실행하고 선택 항목을 변경할 수 없기 때문에
작동하지 않습니다 .rename_append
답변2
나는 (셸 구성 요소 없이) 동일한 문제를 겪고 있습니다. D
매핑하려는 작업은 .d.!
디렉터리를 숨기는 것입니다.
기본 구성
.d
매핑됨filter_stack type d
.!
매핑됨filter_stack not
D
그래서 다음과 같은 매핑을 통해 두 가지를 연결하려고 합니다.
map DD filter_stack add type d ; filter_stack add not
'type'
이것을 시도하면 콘솔 출력에 빨간색이 표시됩니다.
두 경우 모두 ;
올바르게 해석되지 않는 것 같지만 쉘의 경우 의미가 모호합니다 ;
(쉘 명령의 끝입니까 아니면 Ranger 매핑 명령의 끝입니까?). 내 경우에는 모호함이 없어야합니다.
type d
그래도 나중에 추가된 내용은 해당 유형의 연속으로 해석되어 d
오류가 발생할 것 같습니다 . 잘못된 유형이 생성되었기 때문인 것 같습니다(" d
"도 " d;
"도 유효한 유형이 아닙니다).