2017-10-07 59 views
1

使用護林員,Ranger自定義命令將文件移動到預先指定的目錄?

  1. 如何創建:command其當前選定的文件移動到預先指定的目錄?說,通過選擇file並鍵入:move_to_path運行

    MV文件/路徑/位置/文件

  2. 我怎麼會做同樣的與(1),而是結合了關鍵:command?通過突出顯示文件並鍵入mf來說,它會在選定文件上運行:move_to_path

回答

2

我不是一個護林員的用戶,但我看到護林員維基,這似乎是有幫助的條目:​​。

TL; DR:編輯文件〜/的.config /遊俠/ commands.py

from ranger.api.commands import Command 
class move_to_path(Command): 
    """ 
    :move_to_path 
    Move file to a directory 
    """ 
    def execute(self): 
     import shutil # for shutil.copy, os.rename works fine too 
     shutil.move(self.fm.thisfile.path, "/your/directory/" + self.fm.thisfile.basename) 

你現在有你的命令,你可以推出:move_to_path。您可以編寫Python代碼知道從哪裏得到的目錄名稱:固定的,在你選擇的配置文件等

現在,添加一個按鍵綁定,讓我們一起來看看:https://github.com/ranger/ranger/wiki/Keybindings或:http://ranger.nongnu.org/ranger.1.html#KEY-BINDINGS 如果我沒有錯,你可以編輯〜/ .config/ranger/config/rc.conf並在這裏添加一個鍵綁定。 例如,你可以添加一行:

map mf move_to_path 

我想這應該做的伎倆。 謝謝你讓我發現護林員,我會嘗試明天:)

編輯: 要移動多個選定的文件,你可以這樣做:

def execute(self): 
     import shutil # for shutil.copy, os.rename works fine too 
     from os import basename 
     for file in self.fm.thistab.get_selection(): 
      shutil.move(file, "/your/directory/" + basename(file)) 
+0

這完美的作品,但它不是'〜/.config/ranger/config/rc.conf「,它實際上是需要使用map mf move_to_path編輯的〜/ .config/ranger/rc.conf。 – George

+0

另外:你知道是否有一個簡單的方法可以使這個命令影響選定的文件,而不是當前查看的文件? – George

+0

我將不得不嘗試做出可接受的答案,但我認爲github上的wiki包含大量信息,還可以看到python源文件以獲取一些提示。 我會編輯答案。 – RobinG

相關問題