터미널을 위한 4가지 유용한 fzf 트릭
터미널 내부에 있을 때마다 숨을 쉴 수 있는 4가지 트릭을 준비했습니다. 하지만 먼저 fzf를 설정하는 방법을 살펴보겠습니다.
Devon Janse van Rensburg에 Unsplash의 사진
시작하기
If you haven’t already, you can install fzf using Git:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Or, if you are on macOS and want to skip all the fuss, you can use the following command:
brew install fzf
# To install useful key bindings and fuzzy completion:
$(brew --prefix)/opt/fzf/install
마이크 체크
After installing, let’s go and try the basic fzf functionality. You can try to run fzf
inside your terminal. You should see something like this:
퍼지 파인더는 터미널 창에서 실행되며 원하는 파일을 검색할 수 있습니다. 멋진 점은 입력할 때 파일을 인덱싱하는 경우 fzf라는 것입니다. 디렉토리가 파일 및 디렉토리와 관련하여 그다지 복잡하지 않은 경우 하단에 인덱싱이 표시되지 않습니다.
1. 퍼지 디렉토리 변경
The first trick today is using fzf to quickly cd
into a directory. You can press ALT + c
( OPTION + c
on macOS), and you will get an interactive prompt. Take a look below:
그것은 당신이 지금 있는 디렉토리 안에 있는 모든 디렉토리의 내용을 인덱싱하기 시작합니다. 원하는 디렉토리에 대한 입력을 시작하고 화살표 키로 필요한 디렉토리를 선택한 다음 Enter 키를 눌러 들어갈 수 있습니다. 편리하죠?
2. 역사를 통한 스우시
The second trick and one of my favorites, to be honest, is the ability to search through the command history with fzf. To get started, press CTRL + r
in your terminal. Then, search for a command you typed previously. You should see something like this:
얼마 전에 입력한 명령으로 빠르게 이동할 수 있습니다. 나는 그것이 일상적으로 매우 유용하다고 생각합니다.
3. 무엇이든 자동 완성
You can utilize fzf almost anywhere in your terminal. One of the default features is to allow you to find the process to kill quickly. You can try it out by typing kill -9
and pressing TAB
. If that doesn’t work, type kill -9 **
and TAB
. You can now search for the process or multiple processes you want to end.
You can also quickly search through hostnames to SSH. To do this, type ssh **
and press TAB
. You will get the interactive search to find the wanted hostname.
To sum up, here are some of the options you can use by default:
kill -9 **<TAB>
ssh **<TAB>
telnet **<TAB>
unset **<TAB>
export **<TAB>
unalias **<TAB>
If you get tired of typing **
, you can change the fzf trigger by setting FZF_COMPLETION_TRIGGER
variable. For example:
# Use ~~ as the trigger sequence instead of the default **
export FZF_COMPLETION_TRIGGER='~~'
4. 파일을 선택하기 전에 미리보기
Another cool thing to try out is the preview feature of the fzf. It allows you to preview files before you open them. To access it, you need to pass --preview-
to fzf. Let’s see it in action:
내가 호출하는 명령은 다음과 같습니다.
fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'
그러나 원하는 모든 것을 사용자 정의할 수 있습니다. 내 명령은
bat
, GitHub 에서 찾을 수 있는 cat
클론을 사용합니다. 다음과 같이 간단한 cat
명령을 사용할 수도 있습니다.fzf --preview 'cat {}'
또는 이것을 조금 더 푸시하려면 특정 명령을 완료할 때 기본 미리보기 옵션을 설정할 수 있습니다. 다음과 같이 디렉토리 및 파일의 트리 보기를 표시할 수 있습니다.
tree
의 힘을 사용하여 비슷한 결과를 얻을 수 있습니다. brew install tree
를 사용하여 macOS에 설치해야 했습니다. 그런 다음 셸 초기화 시 로드할 _fzf_comprun
함수를 추가했습니다(.bashrc
또는 .zshrc
에 추가할 수 있음). 다음과 같이 표시됩니다._fzf_comprun() {
local command=$1
shift
case "$command" in
cd) fzf "$@" --preview 'tree -C {} | head -200' ;;
*) fzf "$@" ;;
esac
}
다른 경우에 다른 명령이 미리 보기를 표시하기를 원할 수 있으므로 원하는 경우 더 많은 명령으로 더 많은 케이스를 추가할 수 있습니다. 예를 들어,
cat
및 bat
는 파일에 대해서는 잘 작동하지만 SSH에 대한 디렉토리 및 호스트 이름을 미리 보기에는 작동하지 않습니다.5. 보너스: Vim과 통합
If you’re already using Vim (or you’re planning), I must tell you that fzf fits with Vim perfectly. The fuzzy search, preview windows, and customization options are so lovely you’d going to wish to have it in every other situation.
If you’re interested in setting up Vim and fzf, check out my blog post about improving Vim workflow with fzf .요약하면
fzf is a great tool to have in your toolbelt, especially if you’re dwelling inside the terminal. I hope this blog post taught you something new or inspired you to try some of these tricks.
If you liked what you read, consider subscribing to my newsletter 새 게시물이 올라올 때 업데이트됩니다. 또한 아래 Twitter에서 댓글을 달거나 좋아요를 누르거나 친구와 공유할 수 있습니다.다음편에서 만나요, 건배.
Reference
이 문제에 관하여(터미널을 위한 4가지 유용한 fzf 트릭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nikolalsvk/4-useful-fzf-tricks-for-your-terminal-5bgl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)