-
Notifications
You must be signed in to change notification settings - Fork 2
/
bettercd.sh
executable file
·50 lines (46 loc) · 1.75 KB
/
bettercd.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env bash
# Created By: Jake@Linux
# Created On: Tue 11 Oct 2022 03:19:24 PM CDT
# Project: file manager
bettercd() {
>/dev/null cd $1
if [ -z $1 ]
then
while true;
do
selection="$(lsd -a | fzf --height 95% --reverse --info hidden --prompt "$(pwd)/" --preview ' cd_pre="$(echo $(pwd)/$(echo {}))";
echo $cd_pre;
echo;
lsd -a --color=always "${cd_pre}";
termpix --width 100 --true-color {} 2>/dev/null;
bat --style=numbers --theme=ansi --color=always {} 2>/dev/null' --bind alt-j:preview-down,alt-k:preview-up --preview-window=right:65%)"
if [[ -d "$selection" ]]
then
>/dev/null cd "$selection"
elif [[ -f "$selection" ]]
then
for file in $selection;
do
if [[ $file == *.txt ]] || [[ $file == *.sh ]] || [[ $file == *.lua ]] || [[ $file == *.conf ]] || [[ $file == .*rc ]] || [[ $file == *rc ]] || [[ $file == autostart ]] || [[ $file == *.tex ]] || [[ $file == *.py ]]
then
vim -u ~/.config/vim/.vimrc "$selection"
elif [[ $file == *.docx ]] || [[ $file == *.odt ]]
then
devour libreoffice "$selection" 2>/dev/null
elif [[ $file == *.pdf ]]
then
devour evince "$selection"
elif [[ $file == *.jpg ]] || [[ $file == *.png ]] || [[ $file == *.xpm ]]
then
sxiv "$selection"
else [[ $file == *.xcf ]]
devour gimp "$selection"
fi
done
else
break
fi
done
fi
}
bettercd