I want to create a key binding for the common task: open a new terminal window and open the program ranger
in it.
The obvious command would be something like that:
urxvt -e ranger
The important things work right out of the box. But in ranger
I want to use a different program called fzf
, and this program is not found. The error message zsh:1: command not found: fzf
.
Same result with
urxvt -e zsh -c ranger
When I already have an opened terminal and call ranger
in it, then fzf
can be called without any problems.
I took a look, and the path to the binary of fzf
gets added to $PATH
in my .zshrc
. So my assumption is that this never sources my .zshrc
, and it never gets added to the path.
There is an obvious fix for this (call fzf
inside ranger
using the full path ~/.fzf/bin/fzf
), but this problem annoyed me quite a few times already, and I want a nice solution.
How can I open a new terminal, that sources .zshrc
and opens the program ranger
?
One more observation that I don't understand:
I created a script myranger.sh
:
#!/usr/bin/zsh
source ~/.zshrc
ranger
and created the new terminal with:
urxvt -e myranger.sh
The terminal with ranger opens, but fzf
is still not in $PATH
.
What did I miss here?
Btw, this is not zsh
or urxvt
specific. I also tested this with bash
and/or gnome-terminal
.