vd.sh
· 764 B · Bash
原始文件
#!/usr/bin/env zsh
# Use fzf and open file in text editor
vd() {
# folder, default to current directory
# depth, default to 1
local dir=${1:-.}
local depth=${2:-1}
local selected_file
while true; do
selected_file=$(fzf --reverse --border --preview "if [ -d {} ]; then echo 'Folder: {}\nenter to cd'; else bat --style=plain --color=always {} ; fi" --preview-window=up:50%:wrap < <(find "$dir" -maxdepth "$depth"))
# cd to folder or open in editor
if [[ -n $selected_file ]]; then
if [[ -d $selected_file ]]; then
dir="$selected_file"
else
echo "$selected_file" | xargs "$EDITOR"
fi
else
break
fi
done
}
1 | #!/usr/bin/env zsh |
2 | |
3 | # Use fzf and open file in text editor |
4 | |
5 | vd() { |
6 | # folder, default to current directory |
7 | # depth, default to 1 |
8 | local dir=${1:-.} |
9 | local depth=${2:-1} |
10 | local selected_file |
11 | |
12 | while true; do |
13 | selected_file=$(fzf --reverse --border --preview "if [ -d {} ]; then echo 'Folder: {}\nenter to cd'; else bat --style=plain --color=always {} ; fi" --preview-window=up:50%:wrap < <(find "$dir" -maxdepth "$depth")) |
14 | |
15 | |
16 | # cd to folder or open in editor |
17 | if [[ -n $selected_file ]]; then |
18 | if [[ -d $selected_file ]]; then |
19 | dir="$selected_file" |
20 | else |
21 | echo "$selected_file" | xargs "$EDITOR" |
22 | fi |
23 | else |
24 | break |
25 | fi |
26 | done |
27 | |
28 | } |