-
학교 가는 걸 예상 못했고, 부전공에 자격증 공부까지 하게 생긴지라(올 전공 과목만 듣는다니 ㅠㅠ)
올해에는 안그래도 뜸했던 블로그 글의 주기가 더 길어질 것으로 예측된다.
TMI: 7수강(1청강), 6전공, 5팀플이라 한다.
인공지능 들어야 하는데 수학 다 까먹었드아아악ㅋㅋㅋㅋㅋㅋㅠㅠㅠㅠㅠㅠ
아마 동아리에서 사용할 자료만 간신히 올리다가 연말 쯤 되서야 티스토리 스킨 3.0 만들 수 있을 듯..
2017/08/24 - [컴퓨터/리눅스] - 리눅스에서 터미널 생활 즐기기.
에서 간단히만 소개했던 내 Zsh 설정에 대해 소개하고자 한다.
소스는 아래에서 볼 수 있다.
멀티플랫폼(우분투 말고, 레드햇, 아치, 맥, FreeBSD 대응 중)이니 조금만 기다려보세요ㅋㅋ
대응완료.
나중에 시간나면 시그윈까지 호환되도록 만드는게 목표ㅎㅎ.
BlaCk-Void-Zsh
Awesome Zsh Setting
1. 기능 소개.
1.1 강력한 보기.
- 프롬프트.
프롬프트는 두가지 줄로 이루어진다.
윗줄은 정보 표시, 아랫줄은 명령어를 적는 용도다.
윗줄.
- 왼쪽: 계정 정보, root 유저, ssh 사용, 디렉토리 위치, 쓰기 권한, VCS 정보
- 오른쪽: 결과 상태, 배경 작업, 명령 수행 시간, 내역, zsh 로딩 시간
을 제공한다.
아랫줄.
- 문법 강조, 자동 추천을 해준다.
- 자동 추천이 뜰 때 오른쪽 방향키($\rightarrow$)로 완성할 수 있다.
심플 테마
윗줄.
디렉토리 위치, VCS 정보, 계정 정보, 쓰기 권한, root 유저, 명령 수행 시간
아랫줄.
- 왼쪽: 프롬프트 상태, 명령어 입력
- 문법 강조, 자동 추천을 해준다.
- 자동 추천이 뜰 때 오른쪽 방향키($\rightarrow$)로 완성할 수 있다.
- 오른쪽: 배경 작업, 결과 상태
[실험적] 커스텀 또는 테마 전환 방법.
- 홈으로 파일 복사.
cp $BVZSH/BlaCk-Void.ztheme ~/.ztheme
커스텀하기!!export BVZSH_THEME=’THEME MODE’
- 제약사항:
~/.ztheme
에서만 동작. THEME MODE
리스트:auto
,powerline
,simple
auto
: 기본값은 파워라인.
xter이나 256색을 지원하지 않으면, simple 테마가 활성화 된다.- FAQ: 왜
zsh-theme
는 더이상 지원하지 않습니까? || 사용하는 도중 바꿀 수 있나요?
powerlevel10k가 지원하지 않습니다.
- Git
Git과의 상호작용은 파일 관리자와 비교하면서 쉽게 알 수 있다.
차례대로
원본 - 아무 파일 추가 - 파일 수정
스태이징 - 커밋 - 푸시
를 진행한 상태.
깃에 대해 알고 싶다면 아래 글을 참조.
1.2 쉬운 명령어 입력.
- 자동 짝 맞추기.
괄호, 따옴표 등의 짝을 맞추어 준다.
- 고치기.
명령어를 못 찾았을때, 수정을 제안 해준다.
실행이 제대로 안될 경우, 그냥
fuck
이라 치면 제안해준다.- 정보 표시.
축약할 수 있는 명령어는Alias tip
으로 표시해준다.명령어를 치는 도중 '탭<TAB>'을 누르면 분류별로 나누어 추천해준다.위쪽($\uparrow$) 방향키를 누르면 예전에 입력했던 명령어(history) 중에서 검색할 수 있다.
- Fzf 통합.
- Ctrl+t: 파일과 디렉토리 선택.
<TAB>으로 여러 개를 선택 가능. - Ctrl+r: history 선택.
- Alt+c: 디렉토리 선택.
명령어 **
+ <TAB>:vi **
처럼 입력 후 선택.ssh
,telnet
,kill
,unset
,export
등과 결합.
이 부분은 fzf 참고.
- Git.
매우 간단하게 git을 사용할 수 있도록 해준다.
c
: commita
: addp
: pushu
: pullr
: remotes
: status
Git X Fzf
ga
: git addglo
: git loggi
: gitignoregd
: git diffgcf
: git checkoutgss
: git stashgclean
: git clean
- 기타.
bookmark [mark]
:[mark]로 북마크.jump [mark]
: [mark]의 디렉토리로 이동.showmarks [mark]
: [mark]의 디렉토리를 보여줌.deletemark [mark]
: [mark] 제거.cd dots..
: <dots> 갯수만큼 상위폴더로 이동.j [keyword]
: [keyword]와 유사한 디렉토리로 이동.
1.3 터미널 유틸리티.
- 인터넷 도구들.
prettyping
: 알흠다운 핑을 보여준다.ip-info
: IP정보를 알려준다.
- 터미널 이미지 뷰어.
프리뷰처럼 이미지를 보여줍니다.
명령어
img
로 쓰면 된다.사용법:
img FILE_NAME TIME(option)
TIME 기본값은 2초
지원 터미널: Konsole, Xterm, Urxvt, Terminology, Yakuake, Terminal.app
미지원 터미널: Terminator, Hyper, Tilix, Gnome Terminal, Guake, LXterminal, Putty, Alacritty
미지원 터미널들을 위해서.
- 날씨.
사용법:
weather
또는
weather LOCALE LANGUAGE(option)
기본 언어: 시스템 언어.
- 지도.
사용법:
map
2. 설치.
2.1 지원 플랫폼.
- 리눅스
데비안-기반(우분투, 데비안, 민트 ..), RPM-기반(페도라, CentOS, 레드햇..), 팩맨-기반(아치, 만자로 ..)
- 타 OS
맥, Free-BSD 기반
- 요구사항
- bash
- 설치
git clone https://github.com/black7375/BlaCk-Void-Zsh.git ~/.zsh bash ~/.zsh/BlaCk-Void-Zsh.sh
- 터미널 설정.
Nerd Fonts 중 하나를 터미널 폰트로 지정하고 재시작.
만약 멋진 Tmux도 원한다면 BlaCk-Void-Tmux도 확인해보세요.
2.2 다른 OS.
요구사항
- powerline
- powerline support font(아래 문단에서 설명 예정.)
- w3m-img(터미널 이미지 뷰어를 위한 옵션)
- Autojump(
j
를 위한 옵션) - ack(h를 위한 옵션) | 할일: ack를 ripgrep으로 포팅.
-
설치
- Git Clone
git clone https://github.com/black7375/BlaCk-Void-Zsh.git ~/.zsh && cd ~/.zsh
- zplugin(antigen 대체)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zplugin/master/doc/install.sh)"
- nerdfont(powerline 지원 폰트)
git clone https://github.com/ryanoasis/nerd-fonts.git cd nerd-fonts && ./install.sh cd ..
-
.zshrc에 추가
파일 읽기[추천]
echo "source BlaCk-Void.zshrc" >> ~/.zshrc
또는 링크ln -svf BlaCk-Void.zshrc ~/.zshrc
또는 복사(zsh-update
불가)cp -v BlaCk-Void.zshrc ~/.zshrc
- Zsh 쉘 설정.
sudo chsh -s /usr/bin/zsh
또는
sudo chsh -s $(which zsh)
- 터미널 설정.
Nerd Fonts 중 하나를 터미널 폰트로 지정하고 재시작.
- Git Clone
2.3 업데이트.
zsh-update
: BVZSH, 플러그인 매니저, 플러그인 업데이트.font-update
: Nerdfont 업데이트.3. 정보.
3.1 테마.
- Powerlevel10k(powerline theme, Really Fast and 100% replaceable Powerlevel9k)
3.2 플러그인.
플러그인 매니저
기본 저장소 (robbyrussell’s oh-my-zsh).
- Autojump: homebrew, macports 또는 데비안/우분투 패키지로 설치된 Autojump 활성화
- Command Not Found: 명령어가 없을때 command-not-found를 이용해 제안.
- FZF: Fzf의 자동완성과 단축키를 활성화.
- Git: Git을 이용한 alias, 각종 함수들을 추가.
- Pip: pip의 자동완성 활성화.
- Sudo: ESC를 두번 눌러 sudo 권한 실행.
- Thefuck: The Fuck 플러그인 — 이전 콘솔 명령을 수정.
- Tmux: Tmux를 위한 aliases 제공
- Tmuxinator: tmuxinator 자동완성.
- Urltools: URL 인코드(
urlencode
)와 URL 디코드(urldecode
) 기능 제공.
커스텀 저장소
- Zsh 256 Color: 256 색으로 터미널 환경을 향상.
- Alias Tips: 셸 alias와 git alias를 기억하는 데 도움.
- Zsh Autosuggestions: Fish같이 빠르고 거를리지 않는 자동완성.
- Zsh Autopair: 일치하는 구분 기호를 자동으로 닫고, 삭제하고 뛰어넘기 제공.
- Autoupdate Antigen: Antigen과 bundle의 자동 업데이트.
- Zsh Completions: Zsh를 위한 추가적인 자동완성.
- Enhancd: 대화형 필터를 사용하는 차세대 cd 명령어.
- Fast Syntax Highlighting: Zsh를 위한 빠르고 풍부한 문법강조.
- Forgit: Fzf를 이용해 Git 작업을 향상 시키는 도구.
- Fzf Widgets: FZF의 ZLE 위젯들.
- Zsh Git Smart Commands: 효율적을 사용하도록 만든 Git의 alias 랩퍼.
- Git Store: Git의 현재 작업 디렉토리를 저장.
- Zsh History Substring Search: Fish같은 history 검색기능.
- Zsh Interactive Cd: <TAB>을 누르면 fzf와 함께 자동완성을 도외줌.
- up: <dots> 갯수대로 상위 디렉토리로 이동.
3.3 내 터미널 환경.
혹시 궁금해하는 사람이 있을까봐 적는다.
- OS: Kubuntu 18.10
- Terminal: Konsole
- Font: Hack Nerd Font
- Color Scheme: Breeze
댓글