os

FZF: Command-line Fuzzy Find

C/H 2021. 2. 24. 17:39

FZF

command-line fuzzy finder

구성

  • fzf 실행파일
  • tmux 창에서 fzf를 시작하기위한 fzf-tmux 스크립트
  • shell 확장
    • 키 바인딩 (CTRL-T, CTRL-R 및 ALT-C) (bash, zsh, fish)
    • 퍼지 자동 완성 (bash, zsh)
  • Vim / Neovim 플러그인

install

Homebrew

brew install fzf

git

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

linux package

window

사용법

find * -type f | fzf > selected
  • 이동 : CTRL-J / CTRL-K (or CTRL-N / CTRL-P)
  • 선책/실행: Enter
  • 종료: CTRL-C / CTRL-G / ESC
  • 다중 선택: -m, TAB, Shift-TAB 여러 항목 표시
  • 마우스 이용 가능
  • 기본적으로 전체 화면 모드 이지만 높이를 지정할 수 있다.
      vim $(fzf --height 40%)
  • $FZF_DEFAULT_OPTS 환경 설정으로 기본값을 설정할 수 있다.
      export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'

검색 문법

  • 기본적으로 공백으로 구분되는 확장 검색을 지원한다.
    • ^music .mp3$ sbtrkt !fire
      Token Match type Description
      sbtrkt fuzzy-match (퍼지 매칭) Items that match sbtrkt
      'wild exact-match (quoted) (정확한 매칭) Items that include wild
      ^music prefix-exact-match (접두사 정확한 매칭) Items that start with music
      .mp3$ suffix-exact-match (접미사 정확한 매칭) Items that end with .mp3
      !fire inverse-exact-match (역 정확한 매칭) Items that do not include fire
      !^music inverse-prefix-exact-match (역 접두사 정확한 매칭) Items that do not start with music
      !.mp3$ inverse-suffix-exact-match (역 접미사 정확한 매칭) Items that do not end with .mp3
    • |(파이프): or 검색

환경 설정

  • FZF_DEFAULT_COMMAND
    • 입력이 tty 일 때 사용할 기본 명령
    • 예: export FZF_DEFAULT_COMMAND='fd --type f'
  • FZF_DEFAULT_OPTS
    • 기본 옵션
    • 예: export FZF_DEFAULT_OPTS="--layout=reverse --inline-info"

반응형

'os' 카테고리의 다른 글

Management Ubuntu VMs on Multipass  (0) 2020.08.24
FTP, SFTP Mount  (0) 2019.03.22
dmg파일 어디에 쓰는물건인고?  (0) 2010.12.13