이 글의 대상 독자가 딱 나인 듯함. fzf를 설치하고 “천재적이네”라고 생각한 뒤, 정작 쓰는 걸 계속 잊어버렸는데 이제는 쓸지도 모르겠음
핵심은 기존 셸 설정, 개인 스크립트, 별칭에 통합하는 것임. fzf를 항상 쓰지만 직접 실행하는 경우는 거의 없음
좋은 글일 수는 있지만, “이제 뭘 하지?”에 답하려는 목표라면 fzf 셸 통합부터 시작하는 건 오히려 더 좁은 독자층만 상대하는 느낌임
bash에서 ctrl-r을 익숙하게 쓰고 있는데, 그걸 바꾸라고 하는 건 요구 수준이 너무 높음. 기본값을 대체하지 않고 같은 동작을 연습하는 방법부터 알려줬으면 함
실제로는 강화된 기본값에 가까움. ctrl-r을 대체하게 두는 게 맞고, 핵심 매력의 절반은 손에 익은 동작을 유지하면서 기존 흐름과 거의 같은데 더 풍부한 경험을 얻는 데 있음
ctrl-r은 아마 내가 가장 많이 쓰는 명령이고, fzf는 학습 곡선 없이 바로 들어맞는 개선이었음. ctrl-r로 실행되니 fzf 쓰는 걸 잊지도 않게 됨. 다만 나중에는 Fish shell로 옮겼고, 거기서는 같은 동작이 기본으로 제공됨
설득됐음. 곧 fzf와 셸 통합을 추가할 예정이고, 오늘 하나 배웠음
명령에 넣을 파일을 찾을 때는 ctrl-t 단축키도 쓸 수 있음. 특정 변경에 포함할 파일을 고를 때 git과 함께 자주 쓰고, grep 출력 결과를 걸러서 찾는 범위를 줄이는 데도 써봤음
셸 기록 검색 개선 말고도 fzf를 다음 두 별칭과 함께 써왔음 alias gbd='git -c color.ui=never branch | fzf | xargs -I {} git branch -D {}'
주로 풀 리퀘스트를 병합한 뒤 삭제할 로컬 브랜치 목록을 고르는 데 씀. 더 나은 방법이 있을 수 있지만 아직 실패한 적은 없음 alias awp='export AWS_PROFILE="$(grep -e "\[\(.*\)\]" ~/.aws/config | sed -e "s/\[//g" | sed -e "s/\]//g" | cut -d " " -f 2 | sort -u | fzf)"' ~/.aws/config에 있는 값에 따라 AWS_PROFILE을 빠르게 바꿀 수 있게 해줌. 이제 Kubernetes 네임스페이스를 바꾸는 비슷한 별칭도 만들까 생각 중임
fzf.vim 플러그인을 쓰면 vim 안에서 fzf를 사용할 수 있음. 파일 열기뿐 아니라 버퍼, 명령 기록, 파일 내용 등을 퍼지 검색할 수 있음
fzf의 주된 용도는 선형적인 Git 커밋 기록을 훑고 검색해서 최근에 무엇이 바뀌었는지 파악하는 것임
내 기본 Git 설정에서 git fzf는 이렇게 정의해둠
[alias]
# Browse commit history with fzf
# Inspired by: https://chrismanbrown.gitlab.io/67.html
fzf = "!git log --oneline --color=always --decorate=short $@ | \
fzf --ansi --reverse --no-sort \
--preview 'git show --color=always {1}' \
--preview-window '<50(down)' \
--bind 'enter:become(git show {1})' #"
Lobste.rs 의견들
이 글의 대상 독자가 딱 나인 듯함. fzf를 설치하고 “천재적이네”라고 생각한 뒤, 정작 쓰는 걸 계속 잊어버렸는데 이제는 쓸지도 모르겠음
좋은 글일 수는 있지만, “이제 뭘 하지?”에 답하려는 목표라면 fzf 셸 통합부터 시작하는 건 오히려 더 좁은 독자층만 상대하는 느낌임
bash에서 ctrl-r을 익숙하게 쓰고 있는데, 그걸 바꾸라고 하는 건 요구 수준이 너무 높음. 기본값을 대체하지 않고 같은 동작을 연습하는 방법부터 알려줬으면 함
ctrl-r은 아마 내가 가장 많이 쓰는 명령이고, fzf는 학습 곡선 없이 바로 들어맞는 개선이었음. ctrl-r로 실행되니 fzf 쓰는 걸 잊지도 않게 됨. 다만 나중에는 Fish shell로 옮겼고, 거기서는 같은 동작이 기본으로 제공됨
설득됐음. 곧 fzf와 셸 통합을 추가할 예정이고, 오늘 하나 배웠음
명령에 넣을 파일을 찾을 때는
ctrl-t단축키도 쓸 수 있음. 특정 변경에 포함할 파일을 고를 때git과 함께 자주 쓰고,grep출력 결과를 걸러서 찾는 범위를 줄이는 데도 써봤음셸 기록 검색 개선 말고도
fzf를 다음 두 별칭과 함께 써왔음alias gbd='git -c color.ui=never branch | fzf | xargs -I {} git branch -D {}'주로 풀 리퀘스트를 병합한 뒤 삭제할 로컬 브랜치 목록을 고르는 데 씀. 더 나은 방법이 있을 수 있지만 아직 실패한 적은 없음
alias awp='export AWS_PROFILE="$(grep -e "\[\(.*\)\]" ~/.aws/config | sed -e "s/\[//g" | sed -e "s/\]//g" | cut -d " " -f 2 | sort -u | fzf)"'~/.aws/config에 있는 값에 따라 AWS_PROFILE을 빠르게 바꿀 수 있게 해줌. 이제 Kubernetes 네임스페이스를 바꾸는 비슷한 별칭도 만들까 생각 중임fzf.vim 플러그인을 쓰면 vim 안에서 fzf를 사용할 수 있음. 파일 열기뿐 아니라 버퍼, 명령 기록, 파일 내용 등을 퍼지 검색할 수 있음
fzf의 주된 용도는 선형적인 Git 커밋 기록을 훑고 검색해서 최근에 무엇이 바뀌었는지 파악하는 것임
내 기본 Git 설정에서
git fzf는 이렇게 정의해둠뭔가 놓치고 있는 것 같음. 뭘 할지 모르는 상태에서 왜 fzf를 설치하는지 궁금함
최근 관련 글도 있음. 어떤 사용자가 jj용 파일 선택기로 fzf를 쓰고 있음
https://lobste.rs/s/exlogg/jjj