tvl-depot/functions/vim_functions.sh
2016-08-24 10:01:35 -04:00

30 lines
785 B
Bash

#!/usr/bin/env bash
# Easily search for strings within the files within the current directory.
# Specify file extensions and directories to exclude to improve accuracy.
# The file selected from fzf will be opened in vim.
function vfzopen() {
echo -n "Search Term: "
read search_query
echo -n "Filename: "
read filetype
echo -n "Exclude Directory: "
read exclude_dir
if [ ! -z "$exclude_dirs" ]; then
filename=$(find . -type f -name "$filetype" | \
xargs grep -l "$search_query" | fzf)
else
filename=$(find . -type f -name "$filetype" -not -path "./${exclude_dir}/*" \
| xargs grep -l "$search_query" | fzf)
fi
if [ ! -z "$filename" ]; then
echo "$filename"
vim +/"$search_query" "$filename"
return 0
else
return 1
fi
}