После того как я начал использовать ranger, мне понравилось что он быстро показывает превью для файлов, картинок, архивов. Но вот с архивами была проблема, когда просто перемещаешься по директории и натыкаешься на большой архив, ranger начинает его разархивировать, что бы получить список файлов и пока он не закончит, нельзя перемещаться дальше. Поэтому первое что пришло в голову, заставить ranger не показывать превью для архивов больше определенного размера. Как сделать это штатными средствами я не нашел. Да скорее всего это и не возможно. Потому что отображение preview занимается не сам ranger, а скрипт scope.sh, который мы можем свободно править. Находиться он в директории
в строке
Нам неоходимо это делать только вслучее если размер архива меньше опреденного.
Для этого вводи переменную
~/.config/ranger/scope.sh
на необходим вот этот кусок кода:case "$extension" in # Archive extensions: 7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) als "$path" | head -n $maxln success && exit 0 || acat "$path" | head -n $maxln && exit 3
в строке
als "$path" | head -n $maxlnмы и получаем список файлов из архива
maxSize=20000000что равно 20Мб и добавляем получение условие с размером архива, в итоге получаем:
maxSize=20000000 case "$extension" in # Archive extensions: 7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) [ `stat -c%s $path` -lt $maxSize ] && als "$path" | head -n $maxln success && exit 0 || acat "$path" | head -n $maxln && exit 3сохраняем и все готов. Ни чего не надо перезапускать, все сразу работает.