about summary refs log blame commit diff
path: root/functions/vim_functions.sh
blob: 63e01b534b187a2711ddc44c637f8bbd3a3cd5ae (plain) (tree)




























                                                                                 
#!/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
    vim "$filename"
    return 0
  else
    return 1
  fi
}