Zsh
Ranger 文件管理器作為 shell 啟動時的單例實例
問題:
我使用zsh並在其配置文件中添加了一行在啟動時啟動ranger。
.zshrc
# A few other settings and commands. ZSH_TMUX_AUTOSTART="true" plugins=(tmux ...) source ranger
由於它,每個新打開的(主要在tmux中)zsh 都會執行 ranger。
期望:
只有在沒有執行的情況下才啟動一個遊俠程序。
如下所示:
if [[ ! -v RANGER_RUNNIG ]]; then export RANGER_RUNNING="true" source ranger fi
基本上,通過修改 zsh 在每個新 shell 上所做的解決方案聽起來有點複雜。相反,只需從
tmux
要在第一個窗格中顯示的程序開始:tmux new-session ranger
當您手動添加更多窗格時,它們只會啟動預設 shell。
您還可以準備一大堆窗格。例如,從佈局開始
┌────────────┬───────────┐ │ │ zsh │ │ │ │ │ ranger ├───────────┤ │ │ zsh │ │ │ │ └────────────┴───────────┘
你可以
#!/bin/sh # e.g. /usr/local/bin/my_tmux # or just ~/bin/mt, to make your typing easier # (assuming /home/r45i/bin is part of $PATH) # # check we're not running within tmux if [ -z "$TMUX" ] then # start a detached session tmux new-session -d ranger # split the window horizontally tmux split-window -h # split the freshly created vertically tmux split-window -v # attach to the session tmux attach-session -d fi