ranger
Python으로 확장 가능한 명령줄 파일 관리자입니다. 이 commands.py
파일에는 내장 명령의 예가 포함되어 있습니다.
https://github.com/ranger/ranger/blob/master/ranger/config/commands.py
파일을 삭제하면 이 작업을 수행하는 방법을 알 수 있고, 파일 self.fm.delete()
을 찾아보았지만 fm.py
간단한 방법으로 파일을 복사할 수 있는 노출된 것처럼 보이는 함수가 표시되지 않습니다(그러나 저는 Python 개발자가 아닙니다). , 어쩌면 내가 이렇게 했는지 이해하지 못했을 수도 있습니다):
https://github.com/ranger/ranger/blob/master/ranger/core/fm.py
current selection
나는 단지 에 복사될 것을 원합니다 ~/.directory/
.
키맵을 통해 이 작업을 수행할 수 있다는 것을 알고 있지만 확장할 수 있도록 Python에서 수행하고 싶지만 이 기본 단계를 건너뛸 수는 없습니다.
답변1
다음과 같이 파일에 매핑을 생성하여 동일한 기능을 얻을 수 있습니다 rc.conf
.
map cto shell -f cp %s ~/.special_directory/
그런 다음 복사해야 하는 파일을 선택하고 키를 누릅니다 cto
.
답변2
좋아...이렇게 끝났지만 더 좋은 방법이 있는지는 잘 모르겠습니다.
class cpto(Command):
""":cpto
copies the file to a special directory
"""
def execute(self):
self.fm.execute_console("shell cp %s ~/.special_directory &")
Ranger 저장소를 복제하고 해당 저장소로 들어가서 다음을 실행하여 fm
개체를 더 깊이 탐색 할 수 있었습니다.cd
pydoc.ranger.core.actions