मैं गम्बई और इसके अन्य प्रस्तावित वेरिएंट की तुलना में बेहतर जवाब के साथ एक समान प्रश्न पर ठोकर खाई । यह कब से बेहतर है।
- यह tmp फ़ोल्डर में डालकर बनाई गई फ़ाइल का ध्यान रखेगा ताकि इसे सिस्टम द्वारा हटाया जा सके
- यह अधिक साफ कोड है (हालांकि गंबाई का जवाब एक फ़ंक्शन में परिवर्तित किया जा सकता है)
रेंजर के गिट रेपो में पहले से ही शेल फ़ाइल में एक फ़ंक्शन है:
https://github.com/ranger/ranger/blob/master/examples/bash_automatic_cd.sh
function ranger-cd {
# create a temp file and store the name
tempfile="$(mktemp -t tmp.XXXXXX)"
# run ranger and ask it to output the last path into the
# temp file
ranger --choosedir="$tempfile" "${@:-$(pwd)}"
# if the temp file exists read and the content of the temp
# file was not equal to the current path
test -f "$tempfile" &&
if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
# change directory to the path in the temp file
cd -- "$(cat "$tempfile")"
fi
# its not super necessary to have this line for deleting
# the temp file since Linux should handle it on the next
# boot
rm -f -- "$tempfile"
}
आप इस फ़ंक्शन को अपने पसंदीदा शेल आरसी (उदाहरण के लिए ~/.zshrc
) फ़ाइल में रख सकते हैं और या तो उपनाम बना सकते हैं और / या इसे एक महत्वपूर्ण संयोजन से बाँध सकते हैं (फिर से दोनों आरसी फ़ाइल में जा सकते हैं):
alias nav=ranger-cd
और / या
# This will run the function by Ctrl+O through returning
# the string "ranger-cd" in addition to a new-line character
# to act as Enter key-press
bindkey -s "^o" "ranger-cd\n"
अस्वीकरण:bindkey
ZSH में ऊपर काम करता है और आप अपने पसंदीदा खोल के आधार पर यह बदलना चाहिए
;
और फिर अर्ध-बृहदान्त्र के बाद अधिक कमांड निर्दिष्ट कर सकते हैं - जो मान रहे हैं कि आप जिस बिंदु पर बंद हैंranger
, धन्यवाद!