ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ZSH 설정 소개
    컴퓨터/리눅스 2019. 2. 28. 02:36

    학교 가는 걸 예상 못했고, 부전공에 자격증 공부까지 하게 생긴지라(올 전공 과목만 듣는다니 ㅠㅠ)

    올해에는 안그래도 뜸했던 블로그 글의 주기가 더 길어질 것으로 예측된다.

    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과의 상호작용은 파일 관리자와 비교하면서 쉽게 알 수 있다.

    차례대로

    원본 - 아무 파일 추가 - 파일 수정

    스태이징 - 커밋 - 푸시

    를 진행한 상태.

     

    깃에 대해 알고 싶다면 아래 글을 참조.

    https://black7375.tumblr.com/post/163759962440/누구나-쉽게-이해할-수-있는-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: commit
    • a: add
    • p: push
    • u: pull
    • r: remote
    • s: status

     

    Git X Fzf

    • ga: git add
    • glo: git log
    • gi: gitignore
    • gd: git diff
    • gcf: git checkout
    • gss: git stash
    • gclean: 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

     

    미지원 터미널들을 위해서.

    tiv or fim를 사용하면 된다.

     

    - 날씨.

     

    사용법:

    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.

    요구사항

    • 설치

      • 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 중 하나를 터미널 폰트로 지정하고 재시작.

     

    2.3 업데이트.

    zsh-update: BVZSH, 플러그인 매니저, 플러그인 업데이트.
    font-update: Nerdfont 업데이트.

    3. 정보.

    3.1 테마.

     

    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 제공
    • Tmuxinatortmuxinator 자동완성.
    • Urltools: URL 인코드(urlencode)와 URL 디코드(urldecode) 기능 제공.

    커스텀 저장소

     

    3.3 내 터미널 환경.

    혹시 궁금해하는 사람이 있을까봐 적는다.

    • OS: Kubuntu 18.10
    • Terminal: Konsole
    • Font: Hack Nerd Font
    • Color Scheme: Breeze

     

    댓글

Designed by black7375.