#!/usr/bin/env bash # 1. Search for text in files using Ripgrep # 2. Interactively narrow down the list using fzf # 3. Open the file in Vim IFS=: read -ra selected < <( rg --color=always --line-number --no-heading --smart-case "${*:-}" | fzf --ansi \ --color "hl:-1:underline,hl+:-1:underline:reverse" \ --delimiter : \ --preview 'bat --color=always {1} --highlight-line {2}' \ --preview-window='up:60%:+{2}+3/3:~3' ) [ -n "${selected[0]}" ] && nvim "${selected[0]}" "+${selected[1]}"