📌 1. Ranger簡介
Ranger(游俠)是一款 Linux 專用的 指令式文件管理器,其操作風格類似 Vim,通過輸入指令即可完成目錄跳轉、文件編輯、移動、復制等操作。
相比于 mc(Midnight Commander),Ranger 功能復雜較難上手,但對于熟悉 Vim 的 Linux 用戶來說,是一款神器。
本文參考 Ranger 官方 GitHub 用戶指南,總結了ranger的常見玩法。
🖥? 2.?Ranger界面
Ranger 不需要管理員權限即可啟動,在命令行終端輸入 Ranger 并按下回車即可進入ranger界面:
🎛? 2.1 界面布局
-
頂部欄:當前所在路徑
-
左側欄:父目錄列表
-
中間欄
:當前目錄內容 -
右側欄:光標文件預覽
-
底部欄:光標文件屬性及相關信息
🖱??2.2 光標操作
-
j/k
:上下移動光標 -
h/l
:在父子目錄之間切換 -
[ ]
:直接移動父目錄光標 -
i
:展開/收縮右側文件預覽,在展開情況下可直接用j/k
滾動預覽內容(非展開情況下只能用鼠標滾輪來滾動預覽內容) -
q
:退出 Ranger
?? 3. Ranger組合鍵
Ranger 的操作主要依賴組合鍵。以下將常用的組合鍵按照功能進行分類,并進行講解。這里列出的主要是CLI命令行玩法常用的組合鍵,一些需要GUI圖形化界面支持的組合鍵就直接略過了。另外,如果組合鍵輸入了一半不想輸入了,直接按Esc即可撤銷輸入。
🧭 3.1 導航組合鍵
在ranger界面按下g鍵可看到導航組合鍵的提示,除了以下組合鍵以外其余基本沒什么用
組合鍵 | 功能 |
---|---|
gh | 跳轉到家目錄 |
g/ | 跳轉到根目錄 |
ge | 跳轉到配置文件目錄 |
gM | 跳轉到掛載目錄 |
📂 3.2 打開組合鍵
在ranger界面按下r鍵可看到打開組合鍵的提示,如
0 | ${VISUAL:-$EDITOR} -- "$@"
1 | "$PAGER" -- "$@"
3 | mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
:open_with
這里的提示比較難懂,在此特意解釋一下:
- ${VISUAL:-$EDITOR}:表示如果環境變量VISUAL已經設置就用它,否則用EDITOR
- --:選項結束標志,防止把文件名里-開頭的內容誤當成程序參數
- $@:?表示選中所有文件
- "$PAGER":表示通過環境變量PAGER指定的查看器,通常是less或more
- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash:表示ranger創建的回收站路徑,如果指定了環境變量XDG_DATA_DIR就用它,沒有指定就用~/.ranger
根據這些解釋很好理解些組合鍵的意思了
組合鍵 | 功能說明 |
---|---|
r0 | 使用文本編輯器打開文件 |
r1 | 使用系統查看器打開文件 |
r3 | 創建回收站并將選中文件移動到回收站(不刪除已存在內容) |
在這里也可以在按下r后,再:open_with后面輸入自己想要使用的打開軟件,比如vim
當然你也可以不用打開組合鍵之間按回車,這樣默認走的是r0的邏輯。
💡?注意:ranger默認文本編輯器是nano,如果想設置成vim需要修改配置文件,詳見 [Linux 安裝與配置 ranger ]
📋 3.3 復制組合鍵
在ranger界面按下y鍵可看到復制組合鍵的提示,由y引出的復制組合鍵用的最多的是yy,其余yn、yd依賴X11,如果設備上沒有X11相關的環境則無法正常運行
組合鍵 | 功能 |
---|---|
yy | 復制文件 |
yn | 復制文件名(需要X11相關環境) |
yd | 復制目錄名(需要X11相關環境) |
yp | 復制文件路徑(需要X11相關環境) |
💡 注意:X11(X Window System 版本11) 是一種Linux 系統中的用于?圖形顯示的協議。 協議規定用客戶端-服務器的方式來顯示圖形,服務器就是再后臺運行的X Server進程,而客戶端就是各種需要顯示圖形界面的程序(統稱為X Client進程)。ranger的復制文件名目錄名文件路徑的功能雖然沒有顯示圖形的需求,但是調用了系統的xclip進程,而xclip進程復制內容到系統剪切板中需要顯示圖形,并向X Server進程發送請求。如果沒有X Server進程處理請求就無法將內容復制到系統剪切板中,因此就直接導致了ranger的yn/yd/yp功能需要有X11相關的環境(X Server進程)才能正常工作。當然只裝了X Server沒裝xclip也是沒用的,沒裝xclip的需要先把xclip也裝了。
🗑? 3.4 刪除/剪切組合鍵
在ranger界面按下d鍵可看到刪除/剪切組合鍵的提示,除了dd和dD以外其余的基本不會去用它。
組合鍵 | 功能 |
---|---|
dd | 刪除/剪切文件 |
dD | 調用系統命令 rm -rf 強制刪除文件 |
📥 3.5 粘貼組合鍵
在ranger界面按下p鍵可看到粘貼組合鍵的提示,除了以下三個組合鍵其余基本不會用到
組合鍵 | 功能 |
---|---|
pp | 粘貼剪切板中的文件 |
pl | 粘貼剪切板中文件的符號鏈接(相對路徑) |
pL | 粘貼剪切板中文件的符號鏈接(絕對路徑) |
📊 3.6 排序組合鍵
在ranger界面按下o鍵可看到排序組合鍵的提示,主要用來方便找文件。om找最后修改的文件,代碼改到一半沒改完的時候用這個找;os找體積較大的文件,程序跑出空間不足的時候,用這個找是誰占的空間,一目了然。其余的我覺得基本不會去用。
組合鍵 | 功能 |
---|---|
om | 按最后修改時間排序(降序) |
os | 按文件大小排序(降序) |
om排序效果(這里為了更方便展示用了行模式組合鍵將文件的最后修改時間顯示出來):
os排序效果(可以看到目錄和普通文件時分別排序的,可以通過文件過濾組合鍵過濾掉目錄或文件后再進行排序這里就不演示了):
🔍 3.7 文件過濾器組合鍵
在ranger界面按下.鍵可看到文件過濾器組合鍵的提示,也是用來找文件的,只不過他不是通過排序的方法,而是通過過濾的方法逐步的排除不符合目標的文件。.d只顯示目錄文件;.f只顯示普通文件;.l只顯示鏈接文件。這三個用的最多,還有一個.n,輸入完組合鍵以后還需要輸入一個目標字符串,完成以后按回車就會顯示名字中包含目標字符串的文件,其余文件統統會被過濾掉。最后還有一個.c清除過濾器,剩下的組合鍵基本不用。
組合鍵 | 功能 |
---|---|
.d | 只顯示目錄文件,過濾掉其余文件 |
.f | 只顯示普通文件,過濾掉其余文件 |
.l | 只顯示鏈接文件,過濾掉其余文件 |
.n | 只顯示名字中包含特定字符的文件,過濾掉其余文件 |
.c | 清除過濾器中已有的過濾條件 |
.d過濾效果:
.f過濾效果:
.l過濾效果(目錄中沒有鏈接文件的時候是這個樣子的):
.n過濾后輸入txt過濾文件名中帶有txt的文件:
按下回車后效果:
?? 3.8 設置組合鍵
在ranger界面按下z 鍵可看到設置組合鍵的提示,除了zh顯示隱藏文件的組合鍵以外,其余基本不用。
組合鍵 | 功能 |
---|---|
zh | 顯示/隱藏隱藏文件 |
?? 3.9 撤銷組合鍵
在ranger界面按下u?鍵可看到撤銷組合鍵的提示。主要是用來撤銷剪切板,和刪除書簽的,其余功能基本不用。
組合鍵 | 功能 |
---|---|
ud / uy | 撤銷剪切板(ud和uy一個效果) |
umN | 刪除書簽N(N表示書簽名字,可以是數字或字母) |
📝 3.10 行模式組合鍵
ranger的行模式一般指的是中間欄當前目錄內容每行的顯示模式,默認是mf只顯示文件名和大小,可以修改顯示模式讓其顯示更多內容。比較常用的有Ms、Mi、Mp
組合鍵 | 功能 |
---|---|
Mi | 顯示文件名和文件編碼 |
Mf | 默認行模式,只顯示文件名和文件大小 |
Mm | 顯示文件名、文件大小和文件最后修改時間 |
Mp | 顯示文件權限、文件所有者、所屬組和文件名 |
Mi效果:
Mm效果:
Mp效果:
🔐 3.11 權限修改組合鍵
在ranger界面按下+鍵或者-鍵可看到權限修改組合鍵的提示。不過一般除了+x和-x修改可執行權限其余不用。
組合鍵 | 功能 |
---|---|
+x | 給目標文件添加可執行權限 |
-x | 移除目標文件的可執行權限 |
📌 3.12 書簽組合鍵
ranger中提供書簽功能,在特定的路徑上貼上書簽,就可以從任何位置一鍵跳轉。定義的書簽不會隨ranger的退出而消失。對于目錄結構異常復雜的項目來說這個功能還是挺管用的。
組合鍵 | 功能 |
---|---|
mN | 標記目錄(N表示書簽名字,可以是數字或字母) |
'N | 跳轉到標記目錄 |
m效果(按下m后會顯示目前已經定義的書簽,這里已經定義了書簽1,所以如果要給當前目錄設置書簽的話就按2就行了,不要重復就行):
`的效果(和m的效果相似,按下m后會顯示目前已經定義的書簽,不過這里需要按1,這樣才會跳轉到書簽1所代表的目錄,沒有定義的書簽是不會跳轉的)
🗂? 3.13 標簽頁快捷鍵
這個嚴格的將應該叫快捷鍵,應為他是兩顆鍵一起按下的。ranger的標簽頁就像瀏覽器里的標簽頁一樣,打開ranger后按下Alt+2創建標簽頁2,在標簽頁2中移動不會影響到標簽1的當前路徑。再按下Alt+1可以切回標簽1,同理再標簽1中的移動也不會影響到標簽2。一共可以創建9個標簽頁。
快捷鍵 | 功能 |
---|---|
Alt+N | 創建/切換標簽頁,每個標簽頁目錄獨立 |
標簽頁效果(頂欄最右邊出現的數字和高亮數字就是標簽頁和當前標簽頁,默認是沒有的,按下Alt+N后才會出現):
🍳 3.14?搜索快捷鍵
ranger中的/也應該算是快捷鍵,功能是搜索當前目錄,用法和VIM一樣,按下/以后再輸入搜索關鍵字按回車,然后通過N和n查看前一項或后一項匹配項。
指令 | 功能 |
---|---|
/ | 搜索當前目錄文件,可配合 n/N |
? 3.15?幫助組合鍵
相信比起ranger的幫助你們更喜歡看我寫的文檔。
組合鍵 | 功能 |
---|---|
?k | 查看所有組合鍵 |
?c | 查看所有指令 |
?s | 查看當前設置 |
💻 4. Ranger命令
📂 4.1 :travel 命令
該命令用于遞歸搜索文件夾并自動進入目標目錄。
再ranger界面輸入:travel 后面再街上想要搜索的文件或目錄名的前幾個字母,ranger會自動匹配顯示選項,如果匹配到的內容只有一個文件或目錄會直接打開文件或進入目錄
比如我輸入:travel k就顯示了名字中包含k的文件或目錄
輸入e就直接跳轉到kernel目錄下了,因為只匹配到了一個目標
然后我在輸入ar會顯示所有名字中帶ar的目錄或文件
在輸入c就會直接給我進入arch這個目錄,以此類推,直到找到并打開目標文件為止
?? 4.2 :rename
再ranger界面輸入:rename后面接新的文件名或目錄名,可以重命名當前光標所選文件或目錄。
📝 4.3 :bulkrename
先再ranger界面用空格或v選中文件,然后輸入:bulkrename 按回車進行批量改名
bulkrename 會打開一個Vim 窗口,列出所有需要修改的文件名,編輯修改并保存即可一次性完成批量重命名
📜 4.4 :flat N
再ranger界面輸入:flat N按回車,可以將目錄內容線性展開到中間欄。N代表展開的級數,當N為-1時表示展開所有子目錄。
:flat 1表示只展開一級目錄效果如下所示:
建議只展開1-2級,級數越多等待展開的時間越長
🖥? 4.5 :shell
可以通過 :shell 命令在 ranger 內執行 shell 命令,但是輸出到stdout或stderr的文本會被ranger界面覆蓋。這時候需要給:shell命令添加-w參數。比如再ranger界面輸入:shell -w ps -aux就能看到如下界面而不是一閃而過:
同時:shell命令還可以通過s快捷鍵來執行,按一下s鍵,ranger就自動幫你把:shell打出來了。
? 4.6 :delete
再ranger界面可以使用:delete命令刪除文件或目錄。該命令刪除的文件不會放入剪切板,是一種“干凈刪除”的方式。
📁 4.7 :mkdir
在ranger 界面可以通過:mkdir命令新建目錄(與 Linux 中的?mkdir
命令用法相同)。
📄 4.8 :touch
在ranger界面可以通過:touch命令新建文件(與Linux中的?touch
命令用法相同)。
🧩 5.?Ranger變量宏
ranger有選擇和標記功能,選擇和標記的文件可以用ranger變量宏表示,作為參數傳給ranger命令
🏹 5.1?選擇功能
ranger可以通過空格和v鍵進行選擇和反選。被選中的文件前方會多出幾個空格,并且改變顏色。效果如下:
同時可以通過%s變量宏傳遞給ranger命令,如:bulkrename %s對選中文件批量改名。
🎯 5.2?標記功能
ranger還可以通過t來對文件進行標記,被標記的文件前面會出現星號,并且標記不會隨著ranger的退出而失效,效果如下:
同樣被標記的文件也可以通過%t變量宏傳遞給ranger命令,比如:shell vim %t用vim同時打開所有標記的文件。
💡 注意::bulkrename %t只會打開第一個標記的文件,所以:bulkrename不要和%t連用
?? 6. 注意事項
🎭 6.1 Error: Can't open display: (null)
這個報錯通常發生在使用yn或yd組合鍵的時候,原因是yn
/yd
?調用了系統的xclip進程,而xclip進程在系統中找不到X Server進程,無法發送請求。系統中沒有X Server進程的原因有很多。比如SSH鏈接的時候沒有跟-X參數啟動X11轉發功能,或者用了BusyBox做的極簡Linux系統,等等。
我在這里是因為用WSL1系統來玩ranger。WSL1默認沒有X Server進程需要后期手動安裝VcXsrv軟件才能提供X Server,下載地址:
https://sourceforge.net/projects/vcxsrv/files/latest/download
完成下載后雙擊安裝程序,一路Next完成安裝
然后再開始菜單中搜索X launch程序,進行以下配置后點擊完成,開啟X Server進程
然后再進入到WSL1系統,導入環境變量
export DISPLAY=:0
然后再執行以下命令,如果text成功復制到剪切板了,說明X11環境已經搭建完成。
echo "text" | xclip -selection clipboard
這時再使用ranger的yn/yd/yp命令就不會再有Error: Can't open display: (null)報錯了。
📚 7.1 參考文獻
-
Ranger 官方 Github [https://github.com/ranger/ranger]
-
Ranger 官方 User Guide [https://github.com/ranger/ranger/wiki/Official-User-Guide]