C.W.K.
Stream
Lesson 02 of 08 · published

fzf — 퍼지 파인더 마법

~13 min · fzf, fuzzy, history

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

인터랙티브 줄 선택기

fzf 가 stdin 읽어서 인터랙티브 프롬프트 띄움 — 타이핑하면 필터링, 선택한 줄을 stdout 으로. shell 에 통합하면 history 검색 / 파일 picker / 프로세스 선택이 한 머슬메모리로.

설치 + 통합

brew install fzf
$(brew --prefix)/opt/fzf/install   # 키 바인딩 + completion 추가

설치기가 Ctrl 바인딩 셋 추가:

  • Ctrl+R — 퍼지 history 검색. default 대체. 부분 문자열 타이핑, 매치 표시, Enter 실행.
  • Ctrl+T — 퍼지 파일 picker. 프롬프트에서 Ctrl+T, 파일 골라, 경로가 command line 에 삽입.
  • Alt+C — 서브디렉터리로 퍼지 cd.

독립 사용

# 죽일 프로세스 고르기
kill -9 "$(ps aux | fzf | awk '{print $2}')"
# git branch 선택
git checkout "$(git branch | fzf | tr -d ' *')"
# 에디터에서 파일 열기
$EDITOR "$(fd | fzf)"

커스터마이즈

# 더 나은 default
export FZF_DEFAULT_OPTS="--height 40% --reverse --border --info=inline"
# 파일 picker 에 fd 사용 (find 보다 빠름)
export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

모두가 빠지는 이유

전체 파일명 / branch 이름 / PID 그만 침. 퍼지 부분 문자열 + 화살표 + Enter 가 거의 모든 인터랙티브 선택에서 tab completion 보다 빨라.

Code

fzf shell 통합 셋업·bash
brew install fzf
$(brew --prefix)/opt/fzf/install
# After restart, try Ctrl+R, Ctrl+T, Alt+C

External links

Exercise

fzf 설치 + 통합 스크립트 실행. Ctrl+R 로 history 검색. Ctrl+T 로 파일 선택. git checkout $(git branch | fzf | tr -d ' *') 로 branch 퍼지 전환.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.