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
[OK]...これで終わりましたが、もっと良い方法があるかどうかはわかりません。
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