
Linux
2
Вклад в тег
# Подключаем вставку путей по хоткею Ctrl-o
PushToShell() {
# Делим строку на: до курсора и после и вставляем путь между ними.
befCurs="${READLINE_LINE:0:READLINE_POINT}"
aftCurs="${READLINE_LINE:READLINE_POINT}"
READLINE_LINE="$befCurs$1$aftCurs"
# Сдвигаем курсор на длину пути
READLINE_POINT=$(($READLINE_POINT+$(echo -n "$1" | wc -m)))
}
FM_PastePath() {
dir="$(mktemp -t "FM_Dir.XXXXXXXXXX")"
file="$(mktemp -t "FM_File.XXXXXXXXXX")"
ranger --choosedir="$dir" --choosefile="$file" "${@:-$PWD}" #тут можно подключить любой другой ФМ.
PushToShell "$([ -s "$file" ] && cat "$file" || cat "$dir")"
rm -f "$dir"
rm -f "$file"
}
bind -x '"\C-o":"FM_PastePath"'