리눅스를 좋아하는, 특히 커맨드-라인 인터페이스를 좋아하는 분들은

각자 나름의 커스터마이징된 환경 꾸미는 것을 좋아하는 경우가 많다.

 

우분투와 같은 리눅스를 설치하면 기본적으로 bash가 설치되지만

리눅스를 많이 사용하는 분들은 zsh으로 바꿔서 사용하는 것 처럼 ... ^^

 

이처럼 커맨드-라인을 사용하는 환경을 커스터마이징 할 때

자주 언급되는 유틸리티 중 하나가 바로 "fzf (command-line fuzzy finder)" 이다.

- https://junegunn.github.io/fzf/

 

fzf

 

버전이 아직도 v0.56.3 에 머물러 있음에도 (ㅋㅋㅋ 절대 v1.0 릴리즈를 하지 않겠다는 의지?!)

Star 갯수에서 유추할 수 있듯이 global에서 유명한 툴이다.

 

GitHub

 

우리나라에서 더더욱 유명한 이유는 !!!

개발자가 우리나라 분이시다 !!!

 

Junegunn Choi

 

푸릇푸릇한 잔디밭도 대단하고,

Sponsors 목록.... 오!!!!! 국내 개발자 중에 저 정도의 Sponsors 목록을 갖고 있는 분은 처음 봤다!!!

 

 

1. Installation

Homebrew를 이용해서 설치하는 것이 기본적으로 권장하는 방법이고,

운영 체제에 따라서 편하게 설치할 수 있는 다양한 방법을 제공해주고 있지만

(개인적인 취향으로) 지원만 해준다고 하면 git clone 방식으로 설치하는 것을 권장한다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#using-git

 

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

 

버전 업그레이드가 필요하다고 하면 다음과 같이 할 수 있다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#upgrading-fzf

 

cd ~/.fzf && git pull && ./install

 

 

2. shell integration (zsh)

설치 과정에서 자동으로 셋업 해주기는 하는데,

혹시 잘 안되는 경우가 있을까 하여 추가적으로 확인하는 과정을 넣어보았다.

 

가이드 문서에는 다음과 같이 되어있다. (zsh이 아닌 경우 아래 링크 참조)

- https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration

 

# Set up fzf key bindings and fuzzy completion
source <(fzf --zsh)

 

하지만, 설치 과정에서 자동으로 반영해준 내역은 조금 다르다.

 

.zshrc

 

어!? 뭔가 파일을 불러오네!?

그러면, 그 파일을 추가로 확인해보자.

 

.fzf.zsh

 

가이드 문서에 있는 내용과 결국은 같기는 한데, 경로 추가도 포함되어 있어서 더 좋은 것 같다.

 

뭐, 여하튼 이렇게 잘 반영되어 있으면 좋고,

혹시 반영이 안되어 있으신 분은 위 내용 참고해서 반영해주면 된다.

 

그런 후에, 터미널을 재시작 하던지 아니면 "source ~/.zshrc" 하던지 하고

fzf가 잘 설치되어 있는지 확인해보면 된다.

 

version

 

3. Simple Usage

nano 에디터를 이용해서 어떤 파일을 편집하고 싶다고 해보자.

그런데, 파일 이름은 알고 있지만 어느 경로에 있는지 까지는 모른다거나 타이핑하기 귀찮은 상황이라면...

 

> nano $(fzf)

 

제일 아래 부분에서 원하는 파일 이름을 하나씩 타이핑하면

위에 추천하는 파일들을 실시간으로 업데이트 하면서 보여준다.

 

원하는 파일이 있으면 화살표 키를 이용해서 고른 다음에 엔터를 치면 된다.

 

4. Short-Key

단축키도 지원을 해준다.

커맨드-라인 상태에서 "Ctrl + R" 키를 누르면 이전에 사용했던 이력을 보여준다.

 

 

현재 디렉토리 기준으로 하위 디렉토리를 포함한 파일들의 목록을 보여주는 것은 "Ctrl + T"이다.

 

 

이외에도 다양한 기능들을 제공해주고 있는데...

한 번에 다 공부하기에는 부담스러워서 이번에는 일단 여기까지~~~

 

더 알고 싶으신 분들은 공식 문서를 참고하기 바란다.

- https://github.com/junegunn/fzf?tab=readme-ov-file#usage

 

반응형


리눅스를 정말 좋아하지만 ...


뜬금없는 에러상황을 부딪힐때면 좀 짜증이...



내가 사용했던 명령어 기록들을 저장하는 history 파일에 문제가 있단다.


왜? 대체 왜?



$ cd ~                          


$ mv .zsh_history .zsh_history.0831


$ strings .zsh_history.0831 .zsh_history


$ fc -R .zsh_history



위와 같이 진행하면 고쳐진다.




반응형

 

앞에서 Visual Studio Code를 웹으로 사용하는 방법도 알아보았고,

 

Web based Visual Studio Code (Online VSCode)

https://www.whatwant.com/entry/Web-based-Visual-Studio-Code-Online-VSCode

 

 

Python 개발을 위한 환경도 꾸며보았다.

 

Visual Studio Code for Python (VSCode Python 개발환경 만들기)

https://www.whatwant.com/entry/Visual-Studio-Code-for-Python-VSCode-Python-개발환경-만들기

 

 

 

 

[ Powerline fonts in zsh ]

 

 

그런데, Terminal을 보면 뭔가 글자들이 깨진 것처럼 보인다.

 

 

 

필자의 경우 Ubuntu에 Shell 환경을

zsh로 꾸미면서 테마를 예쁘게 하다보니

일반적인 폰트를 사용하지 않기 때문이다.

 

일명 powerline 폰트 !!!

 

그냥 Terminal 화면에서는 아래와 같이 정상적으로 출력이 된다.

 

 

 

 

 

zsh 환경을 만들 때 아래와 같은 명령어를 통해 font를 설치했었다.

 

> sudo apt-get install fonts-powerline

 

※ Windows에서는 다음 링크에 있는 폰트를...

github.com/Falkor/dotfiles/tree/master/fonts

 

 

 

 

[ Visual Studio Code ... Conflict ]

 

 

하지만, VSCode 에서는 위의 폰트를 그대로 사용할 수 없단다,

 

VSCode는 "monospace fotns"만 지원한단다.

 

그래서 VSCode의 Terminal이 아래와 같이 깨진 폰트로 출력이 된다.

 

 

 

 

 

[ Setting Font ]

 

Settings의 Terminal 항목에서

"Integrated: Font Family"에 다음과 같이 셋팅하자.

 

'Ubuntu Mono', 'PowerlineSymbols'

 

 

※ Windows 에서는 다음과 같이 : 'SourceCodePro+Powerline+Awesome Regular'

 

 

 

Terminal 화면을 보면 알겠지만, 예쁘게 잘 나온다.

 

 

우와~ 깔끔하게 해결~!!!

 

 

반응형

+ Recent posts